Let’s Encrypt 使用 DNS 验证并更新证书

2019-08-24 18:19:08 +08:00
 fox0001

宽带的 80、443 端口被禁了,更新免费的 SSL 证书( Let ’ s Encrypt 的免费证书)就成问题了。后来找到相关的文章,说是可以通过 DNS 验证并更新,指向以下官方网址:

User Guide -> Getting certificates (and choosing plugins) -> dns-plugins https://certbot.eff.org/docs/using.html#dns-plugins

找 DNSPod 的插件时,发现 github 上居然有不同的版本(名称却是一样的),因此走了弯路(浪费了一个下午)。最后按照这个的说明,成功更新了证书。

DNSPOD DNS Authenticator plugin for Certbot https://github.com/SkyLothar/certbot-dns-dnspod/blob/master/README.rst

简单来说,就是

1 )去 DNSPod.cn 申请 api 授权

2 )安装插件:pip install certbot-dns-dnspod

3 )生成插件配置文件,例如保存到文件/etc/cetbot-dns-dnspod-credentials.ini。重点是双引号不可缺,token 的格式是 id 和 token 以逗号分隔

certbot_dns_dnspod:dns_dnspod_email = "DNSPod 账户的 Email"
certbot_dns_dnspod:dns_dnspod_api_token = "api_id,api_token"

4 )配置文件设置权限(只是为了安全,此步可不做):sudo chmod 600 /etc/cetbot-dns-dnspod-credentials.ini

5 )更新证书。xxx.com 需要替换为相关域名。

certbot certonly -a certbot-dns-dnspod:dns-dnspod \
    --certbot-dns-dnspod:dns-dnspod-credentials /etc/cetbot-dns-dnspod-credentials.ini \
    -d xxx.com

证书更新成功后,会发现 certbot 的配置文件(/etc/letsencrypt/renewal/xxx.com.conf )也更新了。

5033 次点击
所在节点    SSL
3 条回复
love
2019-08-24 18:45:46 +08:00
huaxianyan
2019-08-24 18:57:57 +08:00
acme.sh 本身就支持主流的 DNS 管理平台使用这种方式下发证书

并且可以自动更新证书
fox0001
2019-08-24 19:07:24 +08:00
@love
@huaxianyan
谢谢。不过已经配置好了,我就不换了

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

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

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

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

© 2021 V2EX