Nginx导致太多重定向

oknwwptz  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(165)

我已经创建了一个GCP云示例来托管RockerChat。我正在使用Nginx和Cloudflare访问我的域名。但它显示了太多的重定向错误。
ERR_TOO_MANY_REDIRECTS
我是一个新手,任何帮助都非常感谢!
使用ip_address:port访问是可以的,但是使用domain访问会导致太多重定向错误。下面是我的Nginx配置:
事件{

worker_connections 1024;

}
HTTP {

client_max_body_size 1000m;

服务器{

listen 80;

server_name chat.miahomebuyerservice.com.;

return 301 https://$host$request_uri;

}
服务器{
listen 443 ssl;
服务器名称chat.miahomebuyerservice.com;
http2 on;
ssl_certificate /etc/nginx/certs/chat-cert.pem;
ssl_certificate_key /etc/nginx/certs/chat-key.pem;
add_header Strict-Transport-Security“max-age=31536000; includeSubDomains; preload”;
位置/ {

proxy_set_header   X-Real-IP $remote_addr;

  proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

  proxy_set_header   Host $host;

  proxy_pass         http://34.125.124.2:8890/;

  proxy_http_version 1.1;

  proxy_set_header   Upgrade $http_upgrade;

  proxy_set_header   Connection "upgrade";

}
任何帮助是非常感谢!

0kjbasz6

0kjbasz61#

这个问题可能是由多种原因造成的;我不确定具体的解决方案,但这里有一个清单:

  • 一般来说,broswer接受3-4跳的重定向。更重要的是,它在客户端提示太多的重定向错误。
  • 尝试在cloudflare中暂时切换到开发模式,以缩小cloudflare重定向循环导致的根本原因。
  • 尝试禁用自动HTTPS重写和HTTP严格传输安全。
  • 可选如果您在后端和gcp示例之间使用负载均衡器,该gcp示例正在重新加密http流量。尝试禁用它并直接测试URL。
  • 要么从cloudflare重定向https,要么让ngnix重写规则,但两者放在一起会导致此错误。如果您的应用程序具有SSL功能,则可能会将http请求转换为https并导致循环返回。如果你的后端应用程序已经使用https进行了硬编码,那么不要使用重定向301。
  • 在你的浏览器上启用开发者模式,检查你的url源代码中是否有嵌入的链接在创建环回。我敢肯定你的后端是不是造成它,但只是双重检查。
  • 尝试测试您的cloudflare加密从完全严格到完全灵活。
  • 由于您是新的cloudflare,请注意,完全严格的SSL,重新加密来自源服务器的请求(在您的情况下ngnix服务器),它可能需要您配置CA证书. https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/
  • 按照此链接https://developers.cloudflare.com/ssl/troubleshooting/too-many-redirects/执行检查表
  • 我用https://www.redirect-checker.org/测试了你的网址。这肯定是由于https和http-https循环上的cloudflare参数配置错误造成的。

我希望以上几点可以解决你的问题。

相关问题