网站加上 CDN 后打开会无限进行 301 跳转的解决方法
背景
网站搭建完后使用 CloudFlare 套了个 CDN,结果发现网站打开就开始一直进行 301 跳转不停。
原因
出现这个故障的大部分服务器都是因为服务器端使用了强制 HTTPS,而 CloudFlare 的 Flexible 策略原理是:用户访问时使用 HTTPS 访问到 CF 的节点,然后 CF通过HTTP方式回源到你的服务器去读取数据,这个时候对于你的服务器来说,CF 就是访客,所以服务器返回的状态都是 301。
解决方法
将 CloudFlare 的 SSL 策略设为 Full 或者 Full(strict) 就能解决。
扩展
CloudFlare 的 SSL 可选模式
- Off:关闭SSL,全程使用 HTTP;
- Flexible:A 使用 HTTPS,B 使用 HTTP,称为灵活加密;
- Full:AB 全程使用 HTTPS,允许 B 程服务端使用自签名证书;
- Full(strict):全程使用 HTTPS,与 Full 的区别在于服务端必须使用有效的可信任证书;