【问题标题】: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 提供支持。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-17
        • 2018-03-06
        • 2019-07-23
        • 2019-09-05
        • 1970-01-01
        • 2019-05-07
        • 2021-07-23
        • 2016-05-23
        相关资源
        最近更新 更多