linux:duckdns
使用duckdns代理DNS验证获取SSL通配符证书
要使用 ACME DNS 质询获取证书,您可以按照上述说明使用此模块。但是,如果您有一个不同的域名(例如,my.example.com
)CNAME 到您的 Duck DNS 域名,您有两个选择:
- 不使用该模块:使用与 的 DNS 提供商匹配的模块
my.example.com
。 - 将挑战委托给 Duck DNS。
委托挑战实际上相当容易,并且如果 DNS 提供商my.example.com
难以配置或速度很慢时可能会很有用:
由于 Let's Encrypt 在查找 DNS-01 验证的 TXT 记录时遵循 DNS 标准,因此您可以使用 CNAME 记录或 NS 记录将回答质询委托给其他 DNS 区域。这可用于将 _acme-challenge 子域委托给验证专用的服务器或区域。如果您的 DNS 提供商更新速度较慢,而您想委托给更新速度更快的服务器,也可以使用它。
假设您有my.example.com
一个 CNAME 到example.duckdns.org
。按照上述说明,您需要添加一个从_acme-challenge.my.example.com
到 的CNAME example.duckdns.org
。然后,在您的 Caddyfile 中,指示此模块覆盖与 Duck DNS 的 API 通信时使用的域:
my.example.com { tls { dns duckdns <token> { override_domain example.duckdns.org } } ... }
如果您未设置override_domain
,此模块将尝试要求 Duck DNS 更新my.example.com
。Duck DNS 将返回错误,因为它不知道my.example.com
。设置此值可解决此问题并允许 Caddy 请求与 匹配的证书my.example.com
,但改为执行 DNS 质询example.duckdns.org
!
如下两个重点,缺一不可,不然一直提示各种不相关的错误,让你浪费时间debug:
my.example.com CNAME记录指向 example.duckdns.org _acme-challenge.my.example.com CNAME指向 example.duckdns.org
linux/duckdns.txt · 最后更改: 2025/03/04 17:05 由 packingbox