正在尝试使用 DNS 身份验证更新/创建 letsencrypt 证书:
certbot-auto -d xxx.it -d mail.xxx.it --manual --preferred-challenges dns certonly
但是,插入请求的记录后:
Please deploy a DNS TXT record under the name
_acme-challenge.mail.xxx.it with the following value:
yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE
Before continuing, verify the record is deployed.
挑战失败。
确实,如果我尝试:
$ dig_acme-challenge.mail.xxx.it TXT
尽管区域文件包含以下记录,但请求也会失败:
# fgrep TXT /var/named/chroot/var/named/master/xxx.it
acme-challenge.mail.xxx.it IN TXT "yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE"
我假设 BIND(bind-9.8.2-0.62.rc1.el6_9.4.x86_64)以某种方式拒绝提供带有前导下划线的记录,但 docs/google 没有帮助。
有任何想法吗?
编辑正如下面的答案所指出的,区域记录中的主机部分需要有一个尾随的点,或者删除域部分。复制和粘贴后请注意。
答案1
在您的区域文件中,您需要以 . 结尾的域名,以告诉 bind 不要附加您在区域中列出的来源
acme-challenge.mail.xxx.it. IN TXT "yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE"