Estoy usando nginx para servir archivos estáticos y otras solicitudes de proxy a alguna instancia de Tomcat. El problema es que no sé cómo elegir qué dirección IP usará nginx para conectarse a Tomcat.
Cada instancia de Tomcat solo acepta conexiones HTTP de direcciones IP específicas. Mi servidor tiene todas estas IP. Simplemente no puedo elegir cuál usará nginx.
Este es mi archivo de configuración:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
location /integracao/ {
proxy_pass http://X.X.X.X:9080/integracao/;
}
location /solr/ {
proxy_pass http://Y.Y.Y.Y:8080/solr/;
}
Mi servidor tiene una interfaz con dos direcciones IP: A y B. Necesito usar IP A para conectarme primero a Tomcat e IP B para conectarme a Solr.
¿Alguien sabe cómo hacerlo?
nginx
proxy
ip
ip-address
msbrogli
fuente
fuente
Si nginx no puede hacerlo, siempre puede usar netfilter y SNAT para que parezca que nginx estaba usando una IP específica:
fuente
Al buscar en el wiki de nginx y especialmente en la parte sobre ProxyModule , no encontré nada relacionado.
Si tiene la posibilidad de experimentar un poco, le sugiero que pruebe diferentes valores en la
listen
directiva y verifique los registros de acceso en su servidor back-end para ver de qué dirección IP proviene nginx.fuente