Proxy inverso de Nginx pisando el pozo
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.
1.2 Mira la imagen para entender
La pintura es apresurada, probablemente tiene este significado.
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
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
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
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í! ! !