Let's Encrypt 泛域名SSL已经出来挺长一段时间了,昨天才有需要,因此尝试了一下部署。
一开始看的是 Leonn 的教程,但不是很详细,自己弄懂了流程之后决定写一篇详细一点的教程(使用 CloudXNS 的 API 添加记录进行验证)。
Head Pic: 「アビーかわいい!!」/「おみなえし」[pixiv]
阿比我老婆!
acme.sh
acme.sh
是一个实现了 acme 协议的脚本,可以从 Let's Encrypt 生成免费的SSL证书
本文只给出配合解析商 API 申请泛域名证书的过程教程,acme.sh
还有很多很强大的功能例如配合 Nginx 或者 Apache 等自动申请证书,请自行查看 github 项目 wiki 发掘
https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E
1. 部署 acme.sh
curl https://get.acme.sh | sh
# 或者
wget -O- https://get.acme.sh | sh
安装过程不会污染已有的系统任何功能和文件,acme.sh
会被自动安装到~/.acme.sh/
中
2. 获取 CloudXNS 的 API 信息
acme.sh
目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的 API,可以自动添加 TXT 记录来验证,不需要人工操作,十分便捷
详细可以看
https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md
这里以 CloudXNS 为例,首先登录 CloudXNS,点击右上角帐户名-API管理,创建 API 之后你会得到 API KEY 和 SECRET KEY,记下他们,并且在“设置API白名单”中加上你服务器的 IP(其实不加也行,但是如果你在申请的时候出了 API 访问错误就尝试着加一下)
3. 开始申请证书
首先设置临时环境变量,配置我们刚才得到的 API 信息
# CloudXNS
export CX_Key="你的 API KEY"
export CX_Secret="你的 SECRET KEY"
其他解析商的环境变量名是不一样的,详情去这里看
https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md
这个临时环境变量只需配置这一次,当成功申请证书后,API 信息会被自动保存在~/.acme.sh/account.conf
,下次你使用acme.sh
的时候会被自动使用
接下来正式开始申请泛域名证书,将example.com
换成你自己的域名
~/.acme.sh/acme.sh --issue --dns dns_cx -d example.com -d '*.example.com'
--dns dns_cx
参数表示使用 CloudXNS 的 API,如果是其他解析商,同样的,从上面那个链接可以看到对应参数
然后静静等待即可
4. 得到证书
申请完成后屏显会输出证书路径
证书是fullchain.cer
密匙是example.com.key
由于证书默认(在你没安装宝塔等同样调用 acme 签发证书的面板时)会在 acme 的内部目录~/.acme.sh/
中生成,不建议直接使用该路径填写至 nginx 等配置中,而是使用--installcert
命令,具体请参考↓
关于证书续期
Let's Encrypt 证书的有效期为三个月,acme.sh
会每隔60天自动帮你续期,无需你进行任何干预
如果你想强制续期或者取消自动续期可以看
https://github.com/Neilpang/acme.sh#11-how-to-renew-the-certs
版权声明:本文为原创文章,版权归 神代綺凜 所有。
本文链接:https://moe.best/tutorial/acme-le-wc.html
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
“关于 CloudXNS 停止免费用户的公告
CloudXNS运营团队 2019-07-09
为贯彻国家网络安全政策法规,加强监管力度,更好的服务于 VIP 客户,我司将于2019年7月16日0时起,停止免费使用我司 CloudXNS 客户的服务,有意向使用 VIP 服务的用户,请尽快与我司联系!
”
图片地址
https://www.o104.cn/error.png
example.com
是示例啊 换成你自己的域名https://www.o104.cn/error2.png
并且我的acme在root文件夹
否则你无法享受到自动续签的便利