1、CloudFlare 启用 SSLCloudFlare SSL 管理都在控制台 - Crypto 处,其实默认情况下,一接入 CloudFlare CDN 就启用了 SSL,这里说说需要注意的几个地方。SSL默认情况下,CloudFlare 启用的 SSL 模式是 Flexible,还有三个选项是 Off、Full、Full(strict):那么这几个有什么区别呢?这里以几张图形象地阐释:
2、用户端到 CloudFlare 的访问称之为 A,CloudFlare 到服务端的勃谧锵疙访问称之为 B:Off:全程 HTTP;Fle旌忭檀挢xible:A 使用 HTTPS,B 使用 HTTP,称为灵活加密;Full:全程使用 HTTPS,允许 B 程服务端使用自签名证书;Full(strict):全程使用 HTTPS,与 Full 的区别在于 B 程服务端必须使用有效的可信任证书;现在我们再来看之前循环301重定向的主要表现:1、访问任何页面都是重定向循环,包括任何静态文件;2、去掉SSL访问之后正常,也就是80端口访问正常,而443端口访问https://www.lingquanzhongxin.com一定出现循环重定向。有没有发现,Flexible是造成我们301 反复跳转的主要原因,其解决方法也很简单,将 SSL 策略设为 Full 或者 Full(strict) 即可。
3、总结:当服务端启用 HTTPS 时,一般都会再强制 HTTP 跳转 HTTPS,而 CloudFlare 默认启用的 SSL 策略是 Flexible。也就是说,当用户访问时,对于用户看到是 HTTPS,但对于服务器来说,访问方式却是 HTTP,所以服务器返回的状态都是 301。解决方法也很简单,将 SSL 策略设为 Full 或者 Full(strict) 即可。