我正在尝试使用 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) 以某种方式拒绝提供带有前导下划线的记录,但文档/谷歌没有帮助。
有任何想法吗?
编辑如下面的答案所指出的,区域记录中的主机部分需要有一个尾随点或域部分被剥离。照看好你的复制和粘贴。
在您的区域文件中,您需要以 . 这告诉 bind 不要附加您在区域中列出的原点