这两天帮朋友做一个外贸站点,准备直接挂上cloudflare flexible SSL 就完事了
可是事情没有想象的那么简单,在站点使用普通的http的情况下,在外面加一层cloudflare flexible的情况下,会造成wordpress的 infinite loop.
这是因为虽然用户是用的ssl 来进行访问的,但是cloudflare 会用http 来和后端进行通话,但是后端,也就是wordpress 所在的服务器,已经强制使用SSL 了,这样就会造成http 和 https的不断跳转,以至于造成infinite loop
网上虽然有很多的解决办法,但是最好的办法,还是用cloudflare 来获取一个免费的有cloudflare签名的original certificate,并且把这个ca和key 传到你的wordpress服务器上并且打开443端口,就解决了这个问题
需要注意的一个问题,这个免费的original certificate,只有cloudflare 承认,也就是说这个ssl 只有在你把website 放在 cloudflare后面,并且打开FULL SSL 或者FULL(strict) SSL (推荐)的时候才有用
直接使用这个SSL,会被浏览器显示错误, untrusted CA
最后需要注意的是,一旦在wordpress的后台开启https, 那么cloudflare的 SSL的选项中必须要选择Full 或者 Full(strict)