解决阻止访问者查看您网站的重定向循环(过多的重定向)错误。
概述
重定向循环错误的两个典型原因是:
浏览器通常在发生重定向循环错误时显示错误消息,例如:
- 页面未正确重定向
- ERR_TOO_MANY_REDIRECTS
Cloudflare SSL 选项与您的源 Web 服务器不兼容
重定向循环的最常见原因是以下原因的组合:
- 源 Web 服务器执行的重定向,以及
- Cloudflare SSL 选项与您的源执行的重定向不兼容。
原因
Cloudflare SSL/TLS 应用中的灵活 SSL 选项通过 HTTPS 加密浏览器和 Cloudflare 网络之间的流量。但是,当启用灵活 SSL 选项时,Cloudflare 会通过 HTTP 将请求发送到未加密的源 Web 服务器。如果您的源 Web 服务器配置为在使用灵活 SSL 选项时将所有 HTTP 请求重定向到 HTTPS,则会发生重定向循环。
使用完全或完全(严格)SSL 选项时,也可能发生重定向循环。 唯一的区别是 Cloudflare 通过 HTTPS 与源 Web 服务器联系,如果源 Web 服务器将 HTTPS 请求重定向到 HTTP,则会发生重定向循环。
解决方案
通过以下方法之一解决重定向循环:
1.(推荐)从源 Web 服务器配置中将 HTTPS 移到 HTTP 或将 HTTP 移到 HTTPS 重定向。例如:
- Apache - RewriteRules
- nginx - 重写指令和 301 返回指令
2.更新 SSL/TLS 应用中的 Cloudflare SSL 选项:
- 如果当前设置为灵活,并且在源 Web 服务器上配置了 SSL 证书,则更新为完全。
- (不推荐)如果当前设置为完全,则更新为灵活。
Page Rule 配置错误
原因
如果使用转发 URL 设置配置了两个有冲突的 Page Rule,则也会发生重定向循环。例如,一个 Page Rule 将 a.example.com 的流量重定向到 b.example.com,另一个 Page Rule 将 b.example.com 重定向到 a.example.com。
解决方案
检查 Cloudflare Page Rule 应用中的规则,确认是否存在两个规则配置为相互转发流量。