腾讯云 DNSPod API 申请 Let’s Encrypt 泛域名证书
Let's Encrypt 于2018年3月14日在其官网发布了一篇《ACME v2 and Wildcard Certificate Support is Live》的文章,也就预示着免费的泛域名证书正式来袭。
首先科普一下,泛域名指带通配符的域名,例如:*.vtrois.com、*.0x5.cc 均为泛域名,包含同一级的全部子域名。注意二级泛域名 *.domain.com 不支持三级域名 example.ssl.vtrois.com。
战前准备
- 一台 Linux 机器(教程使用 Centos 7)
- DNSPod API Token
- 一个域名(教程使用 0x5.cc)
- 一个聪明的大脑
战斗过程
1、在机器上安装相关环境依赖。
1 |
yum update -y && yum -y install curl cron socat |
2、下载安装 acme.sh 脚本。
1 |
curl https://get.acme.sh | sh |
3、在 DNSPod 控制台申请 API Token,这里我们获取到了 ID
和 Token
以便接下来使用。
4、依次输入以下命令,其中 DP_Id
是刚刚申请的 ID
,DP_Key
是刚刚申请的 Token
值,第一个 -d
后面填写一级域名,第二个 -d
后面填写泛域名。
1 2 3 |
export DP_Id="49824" export DP_Key="394f8762a1232cf5aad40fc2d5c0dabb" .acme.sh/acme.sh --issue --dns dns_dp -d 0x5.cc -d *.0x5.cc |
5、接下来脚本会自动等待 120 秒来验证信息,签发成功后,就会给出 CSR、KEY、CERT 保存的路径 /root/.acme.sh/0x5.cc/
。
1 2 3 4 |
[Fri Mar 16 16:51:59 CST 2018] Your cert is in /root/.acme.sh/0x5.cc/0x5.cc.cer [Fri Mar 16 16:51:59 CST 2018] Your cert key is in /root/.acme.sh/0x5.cc/0x5.cc.key [Fri Mar 16 16:51:59 CST 2018] The intermediate CA cert is in /root/.acme.sh/0x5.cc/ca.cer [Fri Mar 16 16:51:59 CST 2018] And the full chain certs is there: /root/.acme.sh/0x5.cc/fullchain.cer |
6、将证书托管到腾讯云,然后再将 0x5.cc.cer
的内容填到证书栏,将 0x5.cc.key
的内容填到私钥栏,再点击上传证书即可。
注意事项
1、在申请签发的过程中脚本会调用 API 自动添加两条 TXT 记录进行验证,在申请成功之后会自动删除这两条记录。
2、在得到签发的证书之后,为了域名解析安全,记得在 DNSPod 删除 Token。
3、下载 acme.sh 脚本需要在 acme.sh 以及 github.com 拉取文件,所以国内的一些机器可能无法正常运行。
4、签发的证书有效期为 3 个月,之后需要重新申请。
5、证书托管到腾讯云可以实现 CDN、COS 等功能一键绑定证书。
文章评论(3)
托管到腾讯云很方便的,但是每三个月都要再重新上传一次吗?
是这个道理
阔怕,我把这个通配符证书上了cdn,看来还得订个日程