网站转 https 遇到的几个坑

心血来潮想把网站转成https的,原本以为很简单,没想到过程当中还有不少需要注意的地方,特此记录一下。

1.ssl证书申请

这个最简单了,我申请的是wosign的免费证书,一直下一步就好了,唯一需要注意的就是域名要写对。

2.nginx配置

 

ssl部分的配置是从nginx的文档里找的,协议那里原本有SSLv3,但是听说有漏洞,所以我删了。

3.坑之wordpress站点地址

我原来博客的域名是带www的,申请证书的时候没填,在域名解析那里把www解析删掉之后以为万事大吉了,结果打开网站一直自动往www的二级域名跳。后来才知道wordpress设置里有一个站点的选项需要改一下。网站打不开了,果断直接改数据库。。

4.坑之googleapis

wordpress用了谷歌的开源字体,google被墙以后,wordpress打开巨慢。解决办法是改wp-includes/script-loader.php文件,把里边含有”fonts.googleapis.com”的那行注释掉就行。不过这也是个权宜之计,wp升级之后这个文件会被改回去- -!

另外,如果使用的主题也调用了开源字体或都googleapis的东西,也需要改一下。

5.坑之多说评论

转https之后,前后台的多说评论都不正常了,浏览器提示阻止打开不安全的链接。

查看多说插件的代码后发现代码里都是写死的调用http的页面,经测试,相应的https页面也可以正常访问,所以只需要把代码里的“http”改成“https”就好了。

我在duoshuo.php里加了一个函数,返回应该使用的scheme

后台的显示需要改5个文件:manage.php,profile.php,themes.php,statistics.php,preferences.php

前台显示需要改1个文件:wordpress.php

 

最后,吐槽一下wordpress。wp的代码组织真叫一个烂啊,php代码和html混杂在一起,函数定义和执行“交相辉映”,感觉完全是上个世纪的代码书写风格。有谁知道好的博客程序别忘了告诉我啊,我想换掉这货了。