我正在尝试将我的特定域重定向到运行multipe Application的Tomcat,但我在浏览器中收到"ERR_TOO_MANY_REDIRECTS"
ERROR
我的配置位于
之下server {
listen 80;
server_name www.mydomain.com;
location / {
proxy_pass http://localhost:7070/AppName;
proxy_read_timeout 600s;
client_max_body_size 200m;
}
}
答案 0 :(得分:1)
最近我配置了我的Odoo应用程序以通过Nginx转发所有请求。 你需要在你的Nginx配置中添加这样的东西:
upstream tomcat {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name www.mydomain.com;
location / {
proxy_pass http://tomcat;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
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 https;
}
proxy_read_timeout 600s;
client_max_body_size 200m;
}
}
如果这不起作用以供参考,您可以查看以下文章:https://www.rosehosting.com/blog/install-odoo-on-a-debian-8-vps-with-nginx-as-a-reverse-proxy/
我希望你会发现这很有用。
答案 1 :(得分:0)
通常以与proxy_pass指令相同的方式设置proxy_redirect指令。例如参见configure-nginx-with-proxy-pass。
location ~ ^/stash {
proxy_pass http://IP:7990;
proxy_redirect http://IP:7990/ /stash;
}
但是在此配置下出现了ERR_TOO_MANY_REDIRECTS错误...因此我将其更改为“ proxy_redirect off;”。如这里的建议,它解决了我的问题!
这是我的gitlab服务器的配置:
server {
listen 80;
server_name reverseproxy.mydomain.org;
location /gitlab/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host-Real-IP $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.xx.xx.xxx:10080;
#proxy_redirect http://172.xx.xx.xxx:10080/ /gitlab/;
proxy_redirect off;
}
}
注意:我还需要删除指令“ proxy_set_header Host $ host;”。由docker-gitlab驱动的我的gitlab服务器。