706 日 , 2021 8:50:44
Cloudflare TLS 加密模式与 Http 重定向的冲突

如果通过 NginxConfig 创建了网站配置,而且网站使用了 Cloudflare 作为 CDN 的话,请检查以下几点:

  • NginxConfig 生成的配置里是否使用了“强制 HTTPS”(即 Http 重定向至 Https)
    • 如果是:
      • Cloudflare 是否:TLS/SSL 加密模式为“灵活”(仅加密用户到 Cloudflare 之间的流量,Cloudflare 与网站之间走 Http

如果在 Cloudflare 的 TLS 加密模式选择了“灵活”,且 Nginx 对网站的配置包括了对 Http 流量的 301 重定向,那么将会出现无限重定向问题(Cloudflare 通过 Http 访问网站,被网站重定向至 Https,但此时访问被 Cloudflare 代理,Cloudflare 依然使用 Http 访问,造成无限重定向问题)。

解决方法为:TLS 加密模式设为“完全”或“完全(严格)”,让 Cloudflare 使用 Https 访问网站。