个人网站需要https加密。要实现https功能,一种方法是购买证书,当然现在也可以申请到免费证书,但前提是空间要支持自有证书。另外一种方式比较简单,就是利用cloudflare的flexible ssl功能,实现wordpress全站强制https。
原理很简单:
- 利用cloudflare的CDN功能,让cloudflare充当客户端与wordpress hosting之间的缓冲。
- 开启cloudflare的flexible ssl功能,使客户端与cloudflare缓冲之间的通讯流量加密。
具体的步骤如下:
1、申请cloudflare账号,此步略。
2、在cloudflare上添加域名,如我的域名luluck.com。
3、cloudflare会自动扫描添加的域名,显示该域名的A,CNAME records等。如扫描不出,自己添加。
4、在域名提供商处更改DNS服务器,如我的namesilo,将原域名商的DNS服务器更改为cloudflare提供的DNS服务器。
5、在crypto页面中,SSL开启flexible。
6、在page rules页面中,添加规则:http://www.luluck.com/*,always uses https。使客户端的http访问强制为https访问。
7、修复cloudflare ssl flexible的the infinite redirect loop error问题:
① 安装wordpress的CloudFlare Flexible SSL WordPress plugin插件(resolve redirect loop issues)。
②安装wordpress的CloudFlare WordPress plugin插件(make sure that the original visitor IP is being passed back at the WordPress level.)。
注意:以上DNS转移生效比较滞后,需要一段时间才会测试正常。
OK,完成。
后注:XP下ie和chrome访问好像有问题,chrome显示“A secure connection cannot be established because this site uses an unsupported protocol.”,而firefox访问正常。win7下三种浏览器均正常。