通过 DNS 验证方式获取 lets-encrypt 证书的快速脚本

折腾 SSL 的时候,在网上发现的优秀脚本,可以在没有搭建网站的时候,先用 DNS 验证一下来申请 lets-encrypt 证书,比如本站用的,还可以添加到计划任务来定时更新证书,比起 Git python 的配置真是 so easy 呀!

详细见GitHub,作者好像还有各种验证的脚本,我只用到了 DNS 版

首先下载脚本和配置文件

我用的是 DNSPOD,就下载 DNSPOD 版本的

1
2
3
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-dnspod.sh
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/dnspod.conf
chmod +x le-dnspod.sh

然后去 DNSPOD 申请一个 D+的 TOKEN key

填到dnspod.conf里面
修改其中的 TOKEN 为您的 dnspod api token ,注意格式为 123456,556cxxxx。 修改 DOMAIN 为你的根域名,修改 CERT_DOMAINS 为您要签的域名列表,需要 ECC 证书时请取消 #ECC=TRUE 的注释。

1
2
3
4
5
TOKEN="YOUR_TOKEN_ID,YOUR_API_TOKEN"
RECORD_LINE="默认"
DOMAIN="example.com"
CERT_DOMAINS="example.com www.example.com im.example.com"
#ECC=TRUE

填好后如下

1
2
3
4
5
TOKEN="这里写key的数字编号,这里写KEY"
RECORD_LINE="默认"
DOMAIN="cuojue.org"
CERT_DOMAINS="cuojue.org"
ECC=TRUE

然后就可以运行试试

1
./le-dnspod.sh dnspod.conf

没有问题的话,运行完毕,在当前目录会生成一个 certs 文件夹,里面有个你域名的文件夹,里面就是你需要的证书了

1
2
fullchain.pem #完整的证书链证书,如果是nginx就用这个
privkey.pem #证书的私钥

配置一下 nginx 就可以用上高大上的 ssl 了。

当然国内也有免费的 SSL 证书Wosign,为期两年的,比 lets-encrypt 的三个月长多了,但是不支持 ECC 证书,所以申请一个备用也是不错的


通过 DNS 验证方式获取 lets-encrypt 证书的快速脚本
https://cuojue.org/read/lets-encrypt-dns.html
作者
WeiCN
发布于
2016年4月2日
许可协议