命名不提供 letencrypt TXT 记录

Ali*_*orm 4 bind lets-encrypt

我正在尝试使用 DNS 身份验证更新/创建 letencrypt 证书:

certbot-auto -d xxx.it -d mail.xxx.it --manual --preferred-challenges dns certonly
Run Code Online (Sandbox Code Playgroud)

但是,在插入请求的记录后:

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.
Run Code Online (Sandbox Code Playgroud)

挑战失败。

确实,如果我尝试:

$ dig_acme-challenge.mail.xxx.it TXT
Run Code Online (Sandbox Code Playgroud)

尽管区域文件包含记录,但请求也会失败:

 # fgrep TXT /var/named/chroot/var/named/master/xxx.it
 acme-challenge.mail.xxx.it IN  TXT     "yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE"
Run Code Online (Sandbox Code Playgroud)

我假设 BIND (bind-9.8.2-0.62.rc1.el6_9.4.x86_64) 以某种方式拒绝提供带有前导下划线的记录,但文档/谷歌没有帮助。

有任何想法吗?

编辑正如下面的答案所指出的,区域记录中的主机部分需要有一个尾随点或将域部分剥离。照顾好你复制和粘贴。

Mik*_*ike 8

在您的区域文件中,您需要以 . 这告诉 bind 不要附加您在区域中列出的原点

 acme-challenge.mail.xxx.it. IN  TXT     "yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE"
Run Code Online (Sandbox Code Playgroud)