之前我博客支持https,然而那个证书可是我花钱买的。

后来就有人说让我用let's encrypt,但是一开始感觉很麻烦,结果前一阵说let's encrypt支持泛域名了,我操,不要钱不说,还功能这么屌?这还等什么,赶紧搞起!

photo_2018-03-26_22-51-48.jpg

虽然搞这个证书的教程很多,但是我还是建议用一些自动化的工具,毕竟虽然这个不要钱,但需要不停的续签,用自动化的工具好的多。

首推的工具自然就是:acme.sh

而且更加欣慰的是acme.sh还推出了自己的中文 wiki,真是太好了。

安装使用命令:

curl  https://get.acme.sh | sh

请牢记,使用这个命令安装之后,会在你 home 下生成一个 .acme 的目录,并且在里面留下一个 acme.sh 用来签证书。同时还会在你的系统里添加计划任务,保证自动续签。

如果你决定和我一样使用泛域名的话,你还需要解决自己域名的 DNS,这里列举了大部分域名商的解决方法,推荐对照看看。

搞定了域名 DNS 的内容后你就可以开始生成自己的证书了。

acme.sh   --issue   --dns dns_cx  -d plumz.me -d *.plumz.me

虽然是泛域名,但是你还得先 -d 一下普通域名,第二个-d才是你的泛域名,不然不能成功。

哦对了,如果告诉你acme.sh不存在的话,记得先去你的home下的.acme隐藏目录中运行。

等待至少 120 秒之后你的证书生成了,不要急着直接 copy 去,要用命令安装。

官方推荐的命令是:

acme.sh  --installcert  -d  plumz.me   \
        --key-file   /usr/local/nginx/conf/ssl/plumz.key \
        --fullchain-file /usr/local/nginx/conf/ssl/plumz.cer \
        --reloadcmd  "service nginx force-reload"

这个命令就是自动把你生成的证书 copy 到nginxssl目录下,然后全自动重启nginx,完成一切操作。

如果和你的nginx的目录有出入记得自己修改,同时在nginx的配置文件中写好对应的这个路径,最后再运行这一步。

这一步一定要使用这个命令运行完毕,至关重要,因为成功后acme.sh今后就会重复这个命令,来进行证书的续期。

选区_652.png

证书好了之后我利用泛域名的特性对博客进行了一些调整和升级,希望看起来会更顺眼一点,增加了一些小秘密,也希望有人能好好发掘吧。

总而言之自己最后完成了证书的升级,可喜可贺,剩下了续费证书的银子,对于我这种穷人来说简直不能更开心。