在七牛云里绑定的自定义域名使用Let’s Encrypt免费证书

这里我们要介绍下 acme.sh ,它实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证.”,今天我们就要用到acme.sh的这个DNS验证来获得Let’s Encrypt免费证书以便在七牛云里使用。

获取Let’s Encrypt免费证书

首先你需要一个VPS来运行acme.sh这个脚本,然后照着【使用acme.sh快速部署生成Let’s Encrypt免费证书】一文里的相关教程用DNS验证方法来申请Let’s Encrypt免费证书,对国内的DnsPod和CloudXNS支持是最好的,明月正好用的是DnsPod,于是获得马上登陆CloudXNS获得API KEY和SECRET KEY,键入下面的命令:

export DP_Id="40279"
export DP_Key="f2ad63666b3ec9da28fe6f6274ae72b8"

这样就可以让acme.sh脚本使用域名解析服务商的API来做DNS验证域名所有权了。(吐槽一下:原来域名解析服务商的API还有这个好处呀,汗!)
然后继续键入如下命令:

acme.sh --issue --dns dns_dp -d yahui.wang -d blog.yahui.wang

因为明月用的是二级域名,所以就不用指定主域名了,我用的是如下的命令:

acme.sh --issue --dns dns_dp -d blog.yahui.wang

其中的pic.example.com就是你要申请证书的二级域名,这里也可以理解为是需要绑定到七牛云空间的域名。
因为需要验证TXT记录啥的,所以键入上述命令后会提示需要120秒等待时间,时间完成后就获得了这个域名的SSL证书了,为了保险期间明月强烈建议将这个域名证书文件copy到一个比较安全和自由的目录里,acme.sh默认保存的不容易获取。
可以使用如下命令来copy证书文件到指定目录:

acme.sh --installcert -d mydomain.com \
--key-file /etc/nginx/ssl/mydomain.key \
--fullchain-file /etc/nginx/ssl/mydonain.cer \

上述里面的mydomai.com和domain修改为申请的域名,文件路径根据自己的情况指定即可。

至此,Let’s Encrypt免费证书申请获取完成了。记得下载SSL证书文档到本地以便在七牛里导入这个证书,证书文档分别是.key和.cer文件。

七牛云里使用Let’s Encrypt免费证书

登陆七牛云控制面板后,在“SSL证书管理”里点击“上传自由证书”。

输入“证书备注名”
“证书内容”即为.cer文件的内容,使用类似EditPlus即可打开,只需要复制后粘贴到“证书内容”即可。
“证书私钥”即为.key文件的内容,使用类似EditPlus即可打开,只需要复制后粘贴到“证书私钥”即可。

然后,点击“确定上传”即完成了七牛云导入Let’s Encrypt免费证书。

在七牛云的绑定域名管理里选择要使用https的域名,点击“升级到HTTPS”,

如果域名和上传的证书匹配,在那么就可以在下拉框里选择证书后提交即可

总结

今天明月也是收获不少再次叹服一下acme.sh的强大和Let’s Encrypt的免费,因为有了他们我们草根博客站长们也可以使用看着很“高大上”的https了,并且还是“免费”的,这个很重要。看来全民HTTPS时代真的是来临了!