Nginx,重定向次数过多,err_too_many_redirects

Nginx,重定向次数过多,err_too_many_redirects

我一直在学习和测试使用 2 台服务器为 proxy_pass 安装 NGINX 的各种方法(包括自定义编译和标准安装)。我遇到的问题与“err_too_many_redirects”有关;具体来说,有很多关于清除缓存的参考(我使用 Chrome),但这并不能解决问题。我还查看了正则表达式,希望找到任何错误配置,但到目前为止(从 RTFM 来看),没有任何迹象表明存在错误配置。

主服务器有一个域名,标准安装,下面只列出了 1 个额外的“服务器指令”。辅助服务器也有一个标准安装,其域名完全不同,可以在本地正常解析,但不能解析外部请求(即配置了“hosts”文件)。

server {

    server_name my2ndweb.com *.my2ndweb.com;

    location ~* {
        proxy_pass http://xxx.xxx.xxx.xxx;
    }

    ...

}

我还修改了位置指令,用“/”代替“~*”,以及“proxy_pass”语句中的 FQDN(我读到某处说 hosts 文件会解析它而不是重定向到本地地址...但是没有做任何事情);

无论如何,如果我使用单个服务器并将不同的域放在不同的文件夹结构中,这一切都可以工作,但如果一台服务器发生故障,这将违背故障转移选项的目的...... - 不,我没有配置故障转移,只是考虑一下。

注意:日志中没有与重定向有关的任何其他错误!

k/r axetone

答案1

回答:

我犯了一个错误,没有从指向用于站点配置的目录(或在本例中使用通配符 DIRECTORIES)的 nginx.conf 文件路径语句中删除通配符“*”...~因此,我在重新加载时给出的指向行项目错误的错误实际上是在其他 conf 文件中,而不是我的“默认”conf 文件中。

愚蠢的错误!

解决方案:替换 nginx.conf 中“include..”路径语句末尾的通配符“*”,并仅使用实际文件夹/文件名。

例如:包括 /etc/nginx/sites-enabled/*.conf;

替换为:include /etc/nginx/sites-enabled/default; # 或任何您的文件名。

相关内容