Single

七牛云自定义域名使用Let’s Encrypt免费证书教程

是很多草根博客站长们的首选加速云服务了,明月自己也很喜欢使用,在现今“https”大行其道的情况下给自己的博客启用 https 也是很多站长们比较迫切的一个需求了,明月最近也一直在折腾这个。毕竟是草根嘛,所以一切还是要以“免费”为主的。所以我的博客加速优化方案一般都是七牛云,SSL 证书目前几乎都是 Let’s Encrypt 免费证书。

大家知道如果站点启用 SSL 后,站内的一些主要引用链接也必须是 https 前缀才行,要不然浏览器就会标注站点不安全,所以启用 SSL 后,使用七牛云的自定义域名也必须使用 SSL 证书的(也就是 https)。七牛本身是提供有免费 SSL 证书的,但悲催的是明月今天发现七牛里“免费”SSL 证书好像没有了,看来 SSL 普及开来就是为了填这类“坑”的呀!七牛的 https 流量收费我捏着鼻子接受了,SSL 证书只有“收费”的显然是不能接受的,还好七牛这次更新后竟然支持 Let’s Encrypt 免费证书(七牛要求是必须是 30 天以上有效期的证书,而 Let’s Encrypt 默认是 90 天的,所以这就是支持 Let’s Encrypt 了。)哈哈,这可真是“山重水复疑无路,柳暗花明又一村”呀,好诗!好诗!

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

1、获取 Let’s Encrypt 免费证书

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

  1. export CX_Key=“1234”
  2. export CX_Secret=“sADDsdasdgdsf”

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

然后继续键入如下命令:

  1. acme.sh –issue –dns dns_cx -d example.com -d www.example.com
  2. #因为明月用的是二级域名,所以就不用指定主域名了,我用的是如下的命令:
  3. acme.sh –issue –dns dns_cx -d pic.example.com
  4. #其中的pic.example.com就是你要申请证书的二级域名,这里也可以理解为是需要绑定到七牛云空间的域名。

因为需要验证 TXT 记录啥的,所以键入上述命令后会提示需要 120 秒等待时间,时间完成后就获得了这个域名的 SSL 证书了,为了保险起见明月强烈建议将这个域名证书文件 copy 到一个比较安全和自由的目录里,acme.sh 默认保存的不容易获取。

可以使用如下命令来copy证书文件到指定目录:

  1. acme.sh –installcert -d mydomain.com 
  2. –key-file /etc/nginx/ssl/mydomain.key 
  3. –fullchain-file /etc/nginx/ssl/mydonain.cer 

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

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

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

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

输入“证书备注名”

如下图所示:

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

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

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

此图主要是为了更形象的表达意思,所以没有可匹配的证书可选择,请各位知悉。

然后,没有然后了,剩下的就是等待七牛完成升级到 https 的部署了。

总结

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