博客证书更换为 let's encrypt
之前我博客支持https
,然而那个证书可是我花钱买的。
后来就有人说让我用let's encrypt
,但是一开始感觉很麻烦,结果前一阵说let's encrypt
支持泛域名了,我操,不要钱不说,还功能这么屌?这还等什么,赶紧搞起!
虽然搞这个证书的教程很多,但是我还是建议用一些自动化的工具,毕竟虽然这个不要钱,但需要不停的续签,用自动化的工具好的多。
首推的工具自然就是: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 到nginx
的ssl
目录下,然后全自动重启nginx
,完成一切操作。
如果和你的nginx
的目录有出入记得自己修改,同时在nginx
的配置文件中写好对应的这个路径,最后再运行这一步。
这一步一定要使用这个命令运行完毕,至关重要,因为成功后acme.sh
今后就会重复这个命令,来进行证书的续期。
证书好了之后我利用泛域名的特性对博客进行了一些调整和升级,希望看起来会更顺眼一点,增加了一些小秘密,也希望有人能好好发掘吧。
总而言之自己最后完成了证书的升级,可喜可贺,剩下了续费证书的银子,对于我这种穷人来说简直不能更开心。