J'utilise nginx pour servir un fichier statique et proxy d'autres demandes à une instance Tomcat. Le problème est que je ne sais pas comment choisir l'adresse IP que nginx utilisera pour se connecter à Tomcat.
Chaque instance de Tomcat n'accepte que les connexions HTTP provenant d'adresses IP spécifiques. Mon serveur possède toutes ces adresses IP. Je ne peux simplement pas choisir lequel utilisera nginx.
Voici mon fichier de configuration:
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/;
}
Mon serveur a une interface avec deux adresses IP: A et B. Je dois utiliser IP A pour me connecter au premier Tomcat et IP B pour me connecter à Solr.
Quelqu'un sait-il comment le faire?
la source
si nginx ne peut pas le faire, vous pouvez toujours utiliser netfilter et SNAT pour le faire apparaître comme si nginx utilisait une ip spécifique:
la source
En parcourant le wiki nginx et en particulier la partie sur ProxyModule , je n'ai rien trouvé de similaire.
Si vous avez la possibilité d'expérimenter un peu, je vous suggère d'essayer différentes valeurs dans la
listen
directive et de vérifier les journaux d'accès sur votre serveur principal pour voir de quelle adresse IP nginx provient.la source