给博客添加SSL证书

今天研究了一下,把小绿锁个弄出来了,毕竟现在的大趋势,现在博客也弄到国内来了,当然要配置 CDN 和 HTTPS 了,忙活一下午,写一下过程吧。

申请证书

我的证书是在腾讯云中申请的,毕竟腾讯云的 VPS 便宜,备案也是在腾讯云弄的。在云产品的域名服务中,有 SSL 证书管理这个选项,按照要求填写个人信息就好然后会有两个选项,选择验证域名的方式,一种是在 DNS 中添加一条 TXT 记录,另一个是在域名的网站下添加一个文件,为了方便我选择了在 DNS 中添加记录,等了大概十分钟吧,证书就签下来了。顺便说一下,后来我给七牛的图床申请证书的时候出现点小问题,验证域名的 TXT 记录和对象储存绑定的 CNAME 记录冲突了,最后好像是子啊腾讯云的文档里看到一句说「暂时绑定」,然后其就试了一下先把 CNAME 记录删掉,然后添加 TXT 记录,等证书签下了以后把 TXT 记录删掉,然后在添加 CNAME 记录,暂时还没有出现问题,申请证书的时候那个「循环校验中」让我迷惑不以,希望不出问题吧。

启动 SSL

后面参考里有一篇文章,基本都是按照那个文章做的,但是为了自己以后方便,还是把步骤写一下吧。

把解压出来的两个文件都上传到服务器,然后用下面的命令解密并降低权限:


openssl rsa -in ssl.key -out /root/ssl.key
chmod 600 /root/ssl.key

这第一条命令很好理解,我直接复制过来了,但是在生产环境中不建议这样的弄,考虑到以后可能会有多个网站上证书,所以秘钥的文件名建议维持原样,把秘钥放到专门的目录中。第二条命令就很好理解了,除了自己有读和写的权限,其他人都没有任何权限。
如果像我一样的使用 LNMP 一键安装的环境,那 Nginx 的配置文件是在 /usr/local/nginx/conf/vhost/ 中的和域名一样的配置文件。


server
{
listen 80;
@listen 443 ssl;
#listen [::]:80;
@ssl on;
@       ssl_certificate /root/key/1_blog.sairoa.me.crt;
@       ssl_certificate_key /root/key/2_blog.sairoa.me.key;
server_name blog.sairoa.me;

行首添加 @ 的是要自己手动添加的,然后重启 LNMP 或者 Nginx 也可以。


lnmp restart
service nginx restart

以上两个命令打一个就可以,打第二个就好,毕竟速度快。

最后的设置

最后去 WordPress 中的设置,在设定中把 URL 设定一下,大致就可以了。

当然要显示小绿锁还有处理一下图片的链接,用图床的要把加上 S,然后用浏览器的检查功能看看还有什么遗漏的,比如说统计代码什么的,总之要让小绿锁出现很不容易……

至于 301 跳转,暂时还没有时间弄,过一段时间再说吧。

参考

LNMP一键包环境安装SSL安全证书且部署HTTPS网站URL过程


发布于 2017-03-30 | 吉ICP备17001717号-1 | © Copyright 2016-2019, Luya Tsai