首先科普一下,泛域名指带通配符的域名,例如:*.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 等功能一键绑定证书。