ERR_TOO_MANY_REDIRECTS Nginx

时间:2015-10-17 14:59:29

标签: nginx tomcat7 ubuntu-14.04 web-hosting url-redirection

我正在尝试将我的特定域重定向到运行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;
        }
}

2 个答案:

答案 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服务器。