解决方法:在cf的面板中选中该域名,切换到ssl/tls菜单,将加密模式更改为完全(Strict)
出现该问题的原因是
- 在cf的SSL 中设置了 Flexible, 以 HTTP 协议回源网站
- 同时源网站支持https,并且设置了访问http的时候强制转向https
- 满足这两个条件,用户访问网页是https,cf回源请求http,原网站又转向了https,就会导致重定向次数过多的错误。
解决方法就是文章开始说的:在cf的面板中选中该域名,切换到ssl/tls菜单,将加密模式更改为完全(Strict),这样回源的时候也是请求https,就不会导致不断的重定向了
下面看看cf的ssl/tls菜单几个选项的含义:
- Flexible:回源的时候通过 HTTP 协议访问,一般原网站不支持https的时候使用
- Full:回源通过 HTTPS 协议访问源网站,但不验证证书,即使源网站提供的 HTTPS 证书不受浏览器信任,cf也会通过 HTTPS 回源网站。源网站支持 HTTPS,HTTPS 证书和域名不匹配或者是自签名证书时使用
- Full (strict):通过 HTTPS 协议访问源网站,并在每个请求过程中验证证书。源网站支持 HTTPS,并且证书有效时 (未过期且受信任)的时候使用。