【问题标题】:ERR_TOO_MANY_REDIRECTS NginxERR_TOO_MANY_REDIRECTS Nginx
【发布时间】:2015-10-17 14:59:28
【问题描述】:
我正在尝试将我的特定域重定向到运行 multipe 应用程序的 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;
}
}
【问题讨论】:
标签:
nginx
tomcat7
ubuntu-14.04
web-hosting
url-redirection
【解决方案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/
我希望你会发现这很有用。
【解决方案2】:
通常以与 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;”对于我的 gitlab 服务器,由 docker-gitlab 提供支持。