缘由
之前看到个新闻:Let’s Encrypt二月27号支持泛域名ssl证书,但由于Let’s Encrypt证书的有效期是90天,我便随手搜了搜其他的免费泛域名证书。功夫不负有心人,在狗狗上还真找到了毛子的一个免费alpha野卡申请站,于是就搞了一张*.azimiao.com。
虽然证书有效期写了是一年,但说不准什么时候被吊销,拿来玩玩还是可以的。由于梓喵出没使用的阿里云虚拟主机并不支持ssl,因此在七牛和本地的Apache上试了试水。
七牛部署ssl证书
七牛部署ssl证书非常简单且极具人性化。
1. 添加一张证书
进入七牛管理控制台->上传自有证书->复制证书内容与私钥->确定上传,之后在我的证书里便可以见到该证书。
2. 给域名分配证书
在融合CDN->域名管理->配置->HTTPS配置中选择对应证书修改即可。
3. 访问测试
七牛部署ssl证书完成。但值得一提的是,七牛的HTTPS并不计入免费流量,阿里云cdn也是这样,请注意账单。
apache部署ssl证书
为了方便调试,我索性将localhost.azimiao.com解析到了127.0.0.1。
1. 修改httpd.conf文件
- 监听443端口
Listen 443
- 找到加载ssl模块的地方,去掉前面的#。
LoadModule ssl_module modules/mod_ssl.so
- 主站另有作用,不需要ssl
SSLEngine off
- 加载虚拟主机配置,去掉前面的#。
Include conf/extra/httpd-vhosts.conf
2. 添加虚拟主机
在httpd-vhosts.conf中添加一个支持ssl的虚拟主机
<VirtualHost *:443>
DocumentRoot "D:/Data/Apache24/htdocs/wp"
ServerName localhost.azimiao.com:443
SSLEngine on
#服务器证书
SSLCertificateFile "D:/Data/Apache24/conf/certificate/star.azimiao.com.crt"
#私钥
SSLCertificateKeyFile "D:/Data/Apache24/conf/certificate/star.azimiao.com.key"
#证书链 EV
#SSLCertificateChainFile "*:/chain.cer"
ErrorLog "D:/Data/Apache24/error/errazimiao.log"
TransferLog "D:/Data/Apache24/error/assessazimiao.log"
</VirtualHost>
3. 启动apache
4. WordPress要进行的操作
4.1 修改站点地址
4.2 修改http链接
如果一个页面同时引入https与http混合资源,那么小绿锁不会显示,解决方法是修改引入的资源链接:
- 将http改为https。
- 用”//”取代”http(s)//”以使浏览器自动选择。
- 文章:由于涉及多篇文章内的资源,因此需要根据实际情况写个sql语句替换一下。
UPDATE wp_posts
SET post_content = REPLACE (
post_content,
'//pic.azimiao.com/',
'//pic.azimiao.com/'
);
- 资源:主要在于主题中引入的http资源,例如样式表中引用的第三方http内容等,略。
- 其他:根据chrome调试中的提示信息查找修改即可。
5. 访问测试
Apache(WordPress)部署ssl证书成功。
后记
阿里万网虚拟主机迟迟不支持php7.0与https,一问到这些客服总是推荐购买云服务器。备案号在阿里云,要转到其他地方也是略有麻烦。目前使用的虚拟主机在2019年2月到期,到那时再考虑吧。
过完年阿里云域名续费竟然涨价了,com变成了69软,cn变成了39软,而别家还都是60软/35软。虽然可以用优惠码折成60/35,但总感觉不爽,等有时间把域名都转出来。
有没有使用WP Editor.MD插件的小伙伴?谁能告诉Markdown的链接如何添加target=”_blank”与rel=“nofollow”属性?