现象:
xxx.dev 将您重定向的次数过多,尝试删除您的 Cookie ERR_TOO_MANY_REDIRECTS
![2024-04-20T01:45:00.png]
在 cloudflare 开启了 proxy 代理访问,com 域名正常访问,dev 域名访问显示重定向次数过多。
网上已有的解决方案:
一:强制转换
原因
提示“重定向次数过多”,一般是因为将HTTP链接强制跳转为HTTPS链接,但在防火墙上却只配置了一条HTTPS(对外协议)到HTTP(源站协议)的转发,防火墙强行将用户的请求进行跳转到更安全的https,所以造成死循环。
总结:防火墙心比天高,明明是一条环形路,非得让天上走的、地上爬的都走这里,最后谁都出不去,形成死循环。
解决方法
将环形道路变成非封闭道路:
通过在防火墙中修改服务器信息,配置两条HTTP(对外协议)到HTTP(源站协议)和HTTPS(对外协议)到HTTPS(源站协议)的服务器信息,就能解决此类问题。
二:循环解析
原因
CNAME记录用于域名的别名,如果网站的初始链接都有www,然而含有www的域名都要跳转到不含www的域名或是IP,如果将CNAME的解析指向域名,会使不含www的域名重新跳转到含有www的域名,最终造成了死循环。
就好像一个人有个外号叫:A,正常来说,说到A这个外号想到的应该是这个人是谁,然而防火墙偏偏不这么想,非得把外号A对应成名字B,然而在叫名字B的时候联想到的却是外号A,结果就不知道这个人是谁了。
解决方法
将CNAME的解析指向IP而非域名.
三:Cloudflare
原因
开启SSL证书后选择灵活SSL,由于灵活的SSL强制通过未加密的HTTP连接到源Web服务器,然而web服务器只能以https的方式进行访问,结果http就被拒之门外了。
解决方法
方法一:对于采用cloudflare提供的CDN加速来说,将灵活ssl切换到完全的SSL。
方法二:从个人站点服务器配置:将HTTP移动到HTTPS重定向,修改方法参考nginx的官方文档:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite
补充
灵活 SSL 选项允许在访问者和 Cloudflare 之间建立安全的 HTTPS 连接,但会强制 Cloudflare 通过未加密的 HTTP 连接到源 Web 服务器。源 Web 服务器不需要拥有SSL 证书,但访问者仍然会浏览该网站的 HTTPS 版本。如果您的网站上有任何敏感信息,则不建议使用灵活选项。只有在用户无法在自己的源 Web 服务器上设置 SSL 时,才使用灵活作为最后的手段。
完全可确保访问者与 Cloudflare 域之间以及 Cloudflare 与 Web 服务器之间的安全连接。完全 SSL 选项不会在源中验证 SSL 证书的真实性。源 Web 服务器上允许使用自签名证书。要在启用完全 SSL 选项之前避免 525 错误,请将源 Web 服务器配置为允许端口 443 上的 HTTPS 连接,并提供自签名 SSL 证书。
根因:dev 域名不允许 http 不安全访问,cloudflare 开启了灵活 SSL,http 请求无法与服务器建立安全连接,导致重定向,将 cloudflare ssl 修改为完全及以上即可。
引用:[1]