HTTPS搭建过程中的几点心得

一点心得:单纯将Blog切换到HTTPS,说实话只是顺应时代的一个趋势罢了,其实必要性并没有那么强,无论是国内还是国外,鲜有几家BLOG是跑在HTTPS下的。只是看到Google Chrome新版将对输入密码的HTTP界面全部进行提示,我也就借着这事,将服务器部署上了SSL。

1、有关证书的获取

实话说,对于纯粹的个人用户而言,「Let's Encrypt」是一个非常不错的选择。但是因为其证书的有效期只有90天,需要通过Git下载且需要定时续期。最初想弄,结果HTTPS未成,反而把整个Apache和PHP系统搞崩溃了,感叹自己实力实属有限。

突然想到腾讯云官方免费提供Trust Asia(亚洲诚信,背后是赛门铁克的授权)一年SSL证书,且官方有相关的参考指南,便从腾讯云方面获取证书并部署。

Let's Encrypt 请参考:http://www.laozuo.org/7676.html
腾讯云用户请参考:https://www.qcloud.com/document/product/400/6813
「第一部分获取证书」

具体操作参考不同证书提供商指南。

2、修改完httpd.conf、httpd-ssl.conf,启动apache报错及解决方案:

① "Syntax error on line 80 of c:/apache/conf/extra/httpd-ssl.conf:ErrorLog takes one argument,The filename of the error log"或者"Syntax error on line 99 of c:/apache/conf/extra/httpd-ssl.conf:SSLCertificateFile takes one argument,SSL Server Certificate file ('/path/to/file' -PEM or DER encoded)"

解决方案:文件路径加双引号

② "Syntax error on line 76 of C:/apache/conf/extra/httpd-ssl.conf:SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?)."

解决方案:打开httpd.conf,找到 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so,把前面的注释去掉。

参考自:apache配置https协议(zt)
「http://wyllife.blog.163.com/blog/static/4116390120141130111926688/」

3、固定链接404报错

很纠结的一个问题是,设置完后整个页面基本没什么问题了,但是固定链接开始搞事情。所有的内页全部404报错,我刚开始以为是.htaccess文件的缘故,在设置里重新生成一份就好,结果失败。接下来以为是目录权限问题导致.htaccess文件生成失败?但是WordPress并没有报错,而且可以正常的改为?p形式,于是便更加纠结,到底是什么鬼?

结果是一行参数忘记修改的缘故,应激活AllowOverride ,搜索httpd.conf中所有的的AllowOverride None,全部改为AllowOverride all。

因为我之前在HTTP下是正常的,如果你之前在HTTP下固定链接都有问题的话,请确保Apache的设置中已经装载URL rewrite模块。一般apache的配置文件位于/etc/httpd/conf/httpd.conf,使用vi或emacs等编辑器打开httpd.conf,搜索rewrite_module,确保文件中包含有下面的代码,且前面没有#,确保正确装载url重写模块。

LoadModule rewrite_module modules/mod_rewrite.so

参考自:Wordpress中固定链接不能修改的问题
「http://www.cnblogs.com/dajianshi/archive/2013/05/06/3062816.html」

以上是我的一点收获,感谢万能的互联网和前辈们的无私奉献!

分享