Nginx配置引发ERR_TOO_MANY_REDIRECTS错误求助
解决RocketChat + Nginx + Cloudflare 重定向循环(ERR_TOO_MANY_REDIRECTS)问题
从几个最可能的点逐一排查:
1. 修正Nginx的server_name配置
你第一个server块里的server_name末尾多了个英文句号:chat.miahomebuyerservice.com.;,这个多余的点会导致Nginx域名匹配异常,直接去掉即可:
server { listen 80; server_name chat.miahomebuyerservice.com; return 301 https://$host$request_uri; }
修改完成后重启Nginx生效:
sudo systemctl restart nginx
2. 检查Cloudflare的SSL/TLS模式
这是这类问题最常见的根源:
- 如果Cloudflare采用Flexible SSL模式,Cloudflare与你的服务器之间会走HTTP协议,但你的Nginx强制将所有HTTP请求重定向到HTTPS,就会形成死循环:用户→Cloudflare(HTTPS)→服务器(HTTP)→Nginx重定向到HTTPS→Cloudflare再转HTTP→反复循环。
- 解决办法:登录Cloudflare控制台,找到对应域名,进入「SSL/TLS」→「概述」,将模式改为Full或者Full(strict)(优先选Full strict,前提是你Nginx配置的SSL证书有效)。
3. 确认RocketChat的Site URL设置
RocketChat自身的站点URL配置错误也会触发重定向:
- 通过
http://34.125.124.2:8890登录管理员后台 - 进入「Administration」→「General」→「Site URL」
- 将值设置为
https://chat.miahomebuyerservice.com(必须是HTTPS,与用户实际访问地址一致) - 保存设置后重启RocketChat服务
额外验证步骤
暂时关闭Cloudflare的代理(将域名解析记录里的云朵图标点为灰色),直接用域名访问测试。如果此时访问正常,说明问题出在Cloudflare配置;如果仍出现循环,再回头检查Nginx和RocketChat的设置。
内容的提问来源于stack exchange,提问作者Chu
相关产品推荐
相关产品推荐

