导航栏

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

发表于:技术相关 2017-02-0710:10 阅读量:1,886

https://github.com/xdtianyu/scripts/tree/master/le-dns

脚本基于 letsencrypt.sh,通过调用 cloudxns API 更新 TXT 记录用于认证,实现快速获取 lets-encrypt 证书。无需 root 权限,无需指定网站目录及 DNS 解析


下载

wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-cloudxns.sh

wget https://github.com/xdtianyu/scripts/raw/master/le-dns/cloudxns.conf

chmod +x le-cloudxns.sh 

注意:le-cloudxns.sh 最后第二行 修改为 :./letsencrypt.sh --accept-terms -c -k ./cloudxns-hook.sh -t dns-01 

配置

cloudxns.conf 文件内容

API_KEY="YOUR_API_KEY" SECRET_KEY="YOUR_SECRET_KEY"  DOMAIN="example.com"  CERT_DOMAINS="example.com www.example.com im.example.com" 修改其中的 API_KEY 及 SECRET_KEY 为您的 cloudxns api key ,修改 DOMAIN 为你的根域名, 修改 CERT_DOMAINS 为您要签的域名列表

运行

./le-cloudxns.sh cloudxns.conf

最后生成的文件在当前目录的 certs 目录下


cron 定时任务

定期更新一次证书,可以在 le-cloudxns.sh 脚本最后加入 service nginx reload 等重新加载服务。

5 3 */20 */2 * /etc/nginx/le-cloudxns.sh /etc/nginx/le-cloudxns.conf >> /var/log/le-cloudxns.log 2>&1