看到浏览器报错“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 改为 Full 或 Full (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 一致性。