快速解决CloudFlare 造成重定向的次数过多的问题

快速解决CloudFlare 造成重定向的次数过多的问题

CloudFlare 造成重定向次数过多问题是一个常见的网络问题,以下是对该问题的详细分析及解决方法总结:

一、问题产生原因

当网站开启 CloudFlare 服务后,用户访问网站实际是先访问离用户较近的 Cloudflare 服务器,然后 Cloudflare 再代理用户请求源服务器。而造成循环重定向错误的原因在于回源过程中的 http 和 https 之间的重定向。具体来说,在 Cloudflare 中开启 SSL 后,出现循环重定向需满足以下两个条件:

  1. SSL 中设置了 Flexible,CDN 以 HTTP 协议回源网站。
  2. 源网站支持 HTTPS,并且设置了通过 HTTP 协议访问时,自动跳转到 HTTPS 协议。

这样就形成了一个循环:用户通过 HTTPS 访问 Cloudflare 的 CDN 服务器,CDN 以 HTTP 访问源网站,源网站又自动将 HTTP 跳转至 HTTPS。重定向次数过多后,浏览器就会报出 ERR_TOO_MANY_REDIRECTS 的错误。

二、解决办法

  1. 在 Cloudflare 的 SSL/TLS 菜单里将「SSL/TLS 加密模式」设置为完全(Strict)即 Full (strict)或者 Full (strict),让 CDN 回源的时候使用 HTTPS 的方式回源,避免 HTTP 参与其中,从而消除循环重定向的可能。
  2. 源网站不设置 HTTPS 支持或者不设置 HTTP 跳转 HTTPS,让 Cloudflare 回源的时候使用 HTTP 方式获取资源。

需要注意的是,修改了 CloudFlare 设置后,可能需要过几分钟或清理浏览器缓存后才能生效。

三、其他 CDN 提供商的类似问题

使用其他 CDN 提供商的时候,也可能会出现这个问题。如果设置了 CDN 后,遇到 Chrome 报重定向次数过多的问题,可以通过上述思路查找问题。

总之,遇到 CloudFlare 造成重定向的次数过多问题时,可根据具体情况选择合适的解决方法,以确保网站的正常访问。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注