七牛云是很多草根博客站长们的首选加速云服务了,明月自己也很喜欢使用的,在现今“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快速部署生成Let’s Encrypt免费证书】一文里专门有提到过“acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证.”,今天我们就要用到acme.sh
的这个DNS
验证来获得Let's Encrypt
免费证书以便在七牛云里使用。
1、获取Let's Encrypt
免费证书
首先你需要一个VPS
来运行acme.sh
这个脚本,然后照着【使用acme.sh快速部署生成Let’s Encrypt免费证书】一文里的相关教程用DNS验证方法来申请Let's Encrypt
免费证书,对国内的DnsPod
和CloudXNS
支持是最好的,明月正好用的是CloudXNS
,于是获得马上登陆CloudXNS
获得API KEY
和SECRET KEY
,键入下面的命令:
export CX_Key="1234"
export CX_Secret="sADDsdasdgdsf"
这样就可以让acme.sh
脚本使用域名解析服务商的API
来做DNS
验证域名所有权了。(吐槽一下:原来域名解析服务商的API
还有这个好处呀,汗!)
然后继续键入如下命令:
acme.sh --issue --dns dns_cx -d example.com -d www.example.com
#因为明月用的是二级域名,所以就不用指定主域名了,我用的是如下的命令:
acme.sh --issue --dns dns_cx -d pic.example.com
#其中的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
文件。
2、七牛云里使用Let's Encrypt
免费证书
登陆七牛云控制面板后,在“SSL证书管理”里点击“上传自由证书”。
输入“证书备注名”
“证书内容”即为.cer文件的内容,使用类似EditPlus
即可打开,只需要复制后粘贴到“证书内容”即可。
“证书私钥”即为.key文件的内容,使用类似EditPlus
即可打开,只需要复制后粘贴到“证书私钥”即可。
如下图:
然后,点击“确定上传”即完成了七牛云导入Let's Encrypt
免费证书。
在七牛云的绑定域名管理里选择要使用https
的域名,点击“升级到HTTPS”,如下图:
如果域名和上传的证书匹配,在那么就可以在下拉框里选择证书后提交即可,具体可以参考下图:
此图主要是为了更形象的表达意思,所以没有可匹配的证书工选择,请各位知悉。
然后,没有然后了,剩下的就是等待七牛完成升级到https
的部署了。
总结
今天明月也是收获不少再次叹服一下acme.sh
的强大和Let's Encrypt
的免费,因为有了他们我们草根博客站长们也可以使用看着很“高大上”的https
了,并且还是“免费”的,这个很重要。看来全民HTTPS
时代真的是来临了!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。