使用不受约束的方式自动更新 let's encrypt ACME-DNS 挑战

使用不受约束的方式自动更新 let's encrypt ACME-DNS 挑战

我将具有多个明确定义子域的证书更改为通配符证书。要使其正常工作,需要解决 DNS-01 挑战。我有一个非常基本的非绑定 DNS 服务器正在运行(权威)。非绑定服务器与 certbot 和 nginx webserver 位于同一台计算机上。

使用以下命令我可以成功创建并授权通配符证书,但我必须在 DNS 服务器中手动创建 TXT 记录:

sudo certbot certonly --manual --preferred-challenges dns --email [email protected] --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com -d example.com -v

我的目标是完全自动化此证书的续订过程。“certbot renew”命令应自动在我之前设置的未绑定 DNS 服务器中创建以质询令牌为内容的 TXT 记录。

为了实现这个目标我需要做什么?

答案1

这个 stackexchange 答案提供了非常详细的信息,我认为非常合适。

您实际需要的是通过 bash/shell 脚本“以编程方式”自动在 DNS 服务器中创建 DNS 条目,这个过程通常如下:

  1. 通过 certbot 申请新证书
  2. 从输出中捕获请求的 TXT 记录
  3. 通过脚本在DNS服务器中创建记录
  4. 确认 TXT 记录的访问已通过互联网传播后,再次使用 certbot。

阅读完本文后,您需要确认您的 DNS 服务器是否提供了某种 API 或方法,以便通过远程请求创建条目。这很重要。

相关内容