Proxy inverso de Nginx pisando el foso (modo contenedor)

1. Breve introducción

1.1 ¿Qué es un proxy inverso?

Esto es muy importante, un proxy inverso es un servidor proxy que actúa como proxy del servidor real . El cliente cree que el servidor proxy es el servidor real, por lo que enviará el == recurso (URL) == solicitado al servidor proxy.

El servidor proxy generalmente es actuado por nginx, y la función de proxy se completa con el archivo de configuración.

imagen-20220414221430951

1.2 Mira la imagen para entender

La pintura es apresurada, probablemente tiene este significado.

imagen-20220414221938713

1.3 Resumen de errores

Registro de errores:

Contenedorización completa de nginx y tomcat

Proxy dos servidores tomcat con nginx,

Entregar a tomcat1 al acceder a recursos con edu

Entregar a tomcat2 al acceder a recursos con vod

Al realizar pruebas de proxy inverso, escriba la URL completa, no una ruta parcial. ¡Porque el servidor proxy aparece ante el cliente como el servidor real! ! !

Esta vez tengo una comprensión más profunda del proxy inverso, y no hay nada de malo en apegarse a él.

Al mismo tiempo, también es necesario pedir consejo a otros, más comunicación y más pensamiento pueden resolver mejor el problema ~

A continuación se muestra la demostración de error

imagen-20220414222411746

El caso correcto

2.1 Iniciar nginx

docker run --name nginx -p 80:80 --link=tomcat:tomcat1 --link=tomcat02:tomca -v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt /docker-nginx/log:/var/log/nginx -v /opt/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d 313ec0a602bc

2.2 Iniciar Tomcat

empezar uno

ventana acoplable ejecutar -it -p 8080:8080 tomcat

docker cp copiar archivos

id del contenedor docker cp: /usr/local/tomcat/webapps.dist/*/opt/webapps

Reiniciar el volumen montado

docker ejecutar -it -p 8081:8080 --name tomcat01 -v /opt/webapps:/usr/local/tomcat/webapps tomcat

docker ejecuta -it -p 8082:8080 --name tomcat02 -v /opt/webapps:/usr/local/tomcat/webapps tomcat

crear archivos, crear recursos

[root@VM-16-8-centos vod]# ll
total 4
-rw-r–r-- 1 root root 11 14 de abril 21:42 a.html
[root@VM-16-8-centos vod]# pwd
/opt/tomcat/webapps/vod

[root@VM-16-8-centos edu]# ll
total 4
-rw-r–r-- 1 root root 8 14 de abril 21:26 a.html
[root@VM-16-8-centos edu]# pwd
/opt/tomcat/webapps/edu

imagen-20220414222221521

2.3 Configurar nginx

[root@VM-16-8-centos docker-nginx]# vim nginx.conf 

worker_processes  1;
events {
    
    
    worker_connections  1024;
}
http {
    
    
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
    
    
      listen 80;
      server_name xxx.xxx.xxx.xxx;

      location ~ /edu/ {
    
    
         proxy_pass http://xxx.xxx.xxx.xxx:8081;
      }

      location ~ /vod/ {
    
    
         proxy_pass http://xxx.xxx.xxx.xxx:8082;
      }
    }
}

2.4 Reiniciar todos los servicios

reinicio de ventana acoplable…

2.5 Pruebas

imagen-20220414222135749

imagen-20220414222322111

3. ¿Cómo el nginx que se ejecuta en el servidor de la nube representa el proyecto local?

¡No puedo!
Ya sea en la nube,¡El proxy solo se puede hacer si la IP del servidor proxy y la IP del servidor real pueden comunicarse entre sí! ! !

Supongo que te gusta

Origin blog.csdn.net/qq_45714272/article/details/124183925
Recomendado
Clasificación