我更改了站点的域名,并将其交给 Cloudflare 接管。

申请 SSL 证书后,网站访问异常,出现 ERR_TOO_MANY_REDIRECTS 错误…

修复

将 Cloudflare SSL/TLS 设置由 flexible 调整为 full(strict)

Cloudflare SSL Options
Cloudflare SSL Options

原因

Cloudflare 为安全提供了多种安全传输模式。

其中 Flexible 模式是针对无法应用 SSL 证书的站点。用户以加密的方式访问 CF 代理,CF 以未加密形式访问源服务器。然而,源服务器配置有误开启了 HTTP 重定向,自动重定向 HTTP 连接到 HTTPS。此时,Visitor (https)——Cloudflare (http)——Origin (https redirected)——Cloudflare…… 无限循环。

这是官方给出的解释

Cloudflare SSL/TLS 应用中的灵活 SSL 选项通过 HTTPS 加密浏览器和 Cloudflare 网络之间的流量。但是,当启用灵活 SSL 选项时,Cloudflare 会通过 HTTP 将请求发送到未加密的源 Web 服务器。如果您的源 Web 服务器配置为在使用灵活 SSL 选项时将所有 HTTP 请求重定向到 HTTPS,则会发生重定向循环。
使用完全完全(严格) SSL 选项时,也可能发生重定向循环。 唯一的区别是 Cloudflare 通过 HTTPS 与源 Web 服务器联系,如果源 Web 服务器将 HTTPS 请求重定向到 HTTP,则会发生重定向循环。

我的建议

如果你使用 Let’s Encryption 之类的免费、短期、单域名证书并使用 Cloudflare 进行代理,不妨尝试一下 Cloudflare 免费申请签发的 15 年泛域名证书。唯一的缺点是,此证书离开 CF 代理(例如设置仅 DNS 模式)后将无效。

申请流程:站点名称 ——SSL/TLS—— 源服务器 —— 创建证书。

证书私钥(private key)仅展示一次,注意保存。


萌ICP备20229066 | Build by C2iCs | Powered by Hexo and Stellar 1.27.0
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

本“页面”访问 次 | 👀总访问 次 | 🍖总访客

开往-友链接力