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

2016-02-02 13:51:52 +08:00
 clanned

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

配置

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_KEYSECRET_KEY 为您的 cloudxns api key ,修改 DOMAIN 为你的根域名,
修改 CERT_DOMAINS 为您要签的域名列表

运行

./le-cloudxns.sh cloudxns.conf

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

cron 定时任务

每两个月自动更新一次证书,可以在 le-cloudxns.sh 脚本最后加入 service nginx reload 等重新加载服务。

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

7251 次点击
所在节点    分享创造
17 条回复
xonze
2016-02-02 14:19:48 +08:00
牛 x ,这个方法好
mdemo
2016-02-02 14:22:59 +08:00
CloudXNS
2016-02-02 14:29:59 +08:00
这个不错,不过应该首发到 X 社区才是(●ˇ∀ˇ●)
wm5d8b
2016-02-02 17:13:54 +08:00
TXT 记录的主机记录是什么?主域名的 TXT 记录用在其他服务上了
clanned
2016-02-02 17:28:07 +08:00
@wm5d8b 同域名 TXT 记录可以有多个的,不知道有冲突没。另外这个不会影响到你的根域名 txt 记录,写入的 txt 记录是 _acme-challenge.example.com _acme-challenge.www.example.com 这样的形式。
wm5d8b
2016-02-06 20:02:59 +08:00
@clanned 今天试了试, CERT_DOMAINS 中有多个域名时,最后输出的证书只有第一个
clanned
2016-02-06 21:53:32 +08:00
@wm5d8b 你是说生成的文件名吗?这是个多域名证书,域名都在 “ alternative subject name ”里,检查下证书详情应该可以看到。
wm5d8b
2016-02-07 14:58:51 +08:00
@clanned 原来如此, SAN(Subject Alternative Name)就是多域名证书。
aitaii
2016-04-08 22:02:58 +08:00
hello,i have a problem:ERROR: Problem connecting to server (curl returned with 7)
+ ERROR: An error occurred while sending post-request to https://acme-v01.api.letsencrypt.org/acme/new-authz (Status 400)

Details:
{"type":"urn:acme:error:badNonce","detail":"JWS has no anti-replay nonce","status":400}

how to do it ?
aitaii
2016-04-08 22:13:12 +08:00
Domain locked,please unlock domain

first in other option page

该域名已被用户锁定,请先解锁
clanned
2016-04-09 07:42:32 +08:00
@aitaii 参考这里 https://community.letsencrypt.org/t/getting-the-client-sent-an-unacceptable-anti-replay-nonce/9172/18 应该是 le 服务端的问题,建议重试下,注意尽量不要超过一周内七次的限制
YvesX
2016-04-11 02:05:56 +08:00
呀,发现了一个对我而言尽善尽美的办法,不枉熬夜。
赞扬楼主!
jackton
2016-09-22 09:49:43 +08:00
这办法不错.试试
kyvi
2016-12-16 09:32:21 +08:00
@clanned ,问你个问题, letsencrypt 实现自动更新证书,我查的好像都是要更新或者 reload web 服务器才可以,我这的是 tomcat 上配置的 ssl 证书,有办法不重启 tomcat 更新 ssl 证书吗?毕竟生产环境没有办法频繁重启 tomcat
clanned
2016-12-16 10:40:11 +08:00
kyvi
2016-12-19 11:33:29 +08:00
@clanned ,我还有个问题想请教下, https://www.v2ex.com/t/328499#reply3
wkl17
2017-08-19 21:47:20 +08:00
如果能加个判断 异常时 自动重试 就更好了。(因为过程中,有时会遇到 403 之类的错误,遇到至少 2 次还是 3 次了 就中断了,必须重新执行)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255004

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX