Flexible SSL 模式的致命误区:ERR_TOO_MANY_REDIRECTS

看到浏览器报错“ERR_TOO_MANY_REDIRECTS”,要立刻联想到插件冲突、缓存问题或 WordPress 设置错误。但常常罪魁祸首却是看似方便的“灵活加密”的 Flexible SSL 模式。

本文将带你深入了解 Flexible 模式为何会引发 ERR_TOO_MANY_REDIRECTS,以及如何用正确的方式解决这个其所导致的问题。

一 :什么是 Flexible SSL 模式?

将网站接入 Cloudflare 后,它会提供四种加密模式:

Off(关闭):不加密

Flexible(灵活):浏览器到 Cloudflare 为 HTTPS,Cloudflare 到服务器为 HTTP

Full(完全):前后端都使用 HTTPS,但不验证服务器证书

Full (Strict)(严格):前后端都为 HTTPS,且验证服务器的有效证书

Flexible 模式的本质:

用户看到的是 HTTPS,但 Cloudflare 与源站之间是明文 HTTP。

这听起来像是“免费 SSL 最佳选择”?错。对于使用 WordPress 或 WooCommerce 的站点来说,这种模式隐藏着严重隐患。

二:Flexible SSL 如何引发 ERR_TOO_MANY_REDIRECTS?

WordPress 通过 $_SERVER[‘HTTPS’] 判断当前连接是否安全(即 HTTPS)。但在 Flexible 模式下:

浏览器请求是 HTTPS(Cloudflare 接收到的是 HTTPS)

Cloudflare 转发给源站是 HTTP(源站接收到的是 HTTP)

于是,WordPress 误以为当前连接是 不安全的 HTTP,于是启动强制跳转到 HTTPS —— 这个跳转又被 Cloudflare 转成 HTTP,再发回源站,形成无限循环跳转。这种情况就会导致用户浏览器直接报错ERR_TOO_MANY_REDIRECTS

三:判断网站是否中了 Flexible 的“陷阱”

可以通过下面方法判断你是否正在用 Flexible 且遭遇死循环:

网站在未登录时可以访问,一旦进入后台或某些页面就无限重定向

关闭 Cloudflare 后网站恢复正常

WordPress 已开启 https:// 地址,但没有在服务器上部署真正的 SSL 证书

Cloudflare SSL/TLS 模式为“Flexible

四:正确解决方案:从 Flexible 切换到 Full 或 Full (Strict)

步骤 1:在服务器部署 SSL 证书

推荐做法:

安装 Let’s Encrypt 免费证书(绝大多数主机都支持一键安装)

使用 Cloudflare 的 Origin Certificate(仅限 Cloudflare 专用)

Cloudflare → SSL/TLS → Origin Server → 创建证书并部署到主机

步骤 2:切换加密模式为 Full 或 Full (Strict)

进入 Cloudflare 后台:

打开网站设置

点击 SSL/TLS → 概览

将加密模式从 Flexible 改为 FullFull (Strict)

Full(推荐):适合没有购买商业证书的站点
Full (Strict):适合已经配置有效证书(如 Let’s Encrypt)的站点

步骤 3:确保 WordPress 地址正确

在 WordPress 后台 → 设置 → 常规,确保:

WordPress 地址(URL):https://www.361sale.com

站点地址(URL):https://www.361sale.com

步骤 4:清除缓存

清空 Cloudflare 缓存缓存 —清除全部缓存

清除本地缓存插件缓存(WP Rocket、W3 Total Cache、LiteSpeed 等)

清除浏览器缓存

五:总结:为什么不推荐使用 Flexible 模式?

安全性低:Cloudflare 与服务器之间是明文传输

容易引起跳转冲突:尤其是 WordPress 判断协议依赖服务器变量

不利于 SEO:Google 建议使用全站 HTTPS,明文传输可能引发抓取失败

插件兼容性差:WooCommerce、会员系统、支付等场景下容易触发循环重定向

正确做法:配置真实 SSL 证书 → 切换为 Full (Strict) 模式 → 清理缓存 → 保持 URL 一致性。

Leave a Reply

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