Maison > Questions et réponses > le corps du texte
Bonjour à tous, j'ai une question
Description du problème :
location ^~ /tomcat/ {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /ife2017/ {
proxy_pass http://127.0.0.1:8080/ife2017/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Ce qui précède fait partie de ma configuration nginx, le but est
1. Sautez toutes les requêtes de www.abc.com/tomcat/xxx vers Tomcat, la fonction est normale
2. Accédez à toutes les requêtes de www.abc.com/ife2017/xxx vers Tomcat, puis accédez à ife2017 via Tomcat. La fonction n'est pas normale
.Remarque : ife2017 est un dossier dans le répertoire racine de Tomcat. Il est accessible normalement avant d'utiliser le proxy nginx
.La performance spécifique est que www.abc.com/ife2017/123 peut sauter normalement sans numéro de port
Mais www.abc.com/ife2017/123/456 ne peut pas sauter normalement et passera à www.127.0 .0.1.com /ife2017/123/456
Ma solution actuelle consiste à remplacer 127.0.0.1 par le nom de domaine réel, mais dans ce cas, le numéro de port 8080 sera ajouté après le saut. Bien que le problème ne soit pas grave, je veux toujours une solution parfaite
.Merci à tous d'avance
某草草2017-05-16 17:11:04
Problème de configuration du proxy inverse, il n'y a pas d'option similaire dans tomcat
并不知道他在nginx
后面,所以发送的重定向响应头仍然是使用后端的地址。在apache
中可以通过配置ProxyPassReverse
选项修改后端发给client
的响应头来实现,在nginx
, alors ajoutez des informations de proxy à la requête envoyée au backend (dites à Tomcat qu'il y a un proxy devant lui) :
server {
listen myhost:80;
server_name myhost;
location / {
root /path/to/myapp/public;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://myapp:8080;
}
}
Document de référence : Solution NGINX pour Apache ProxyPassReverse