LetsEncrypt Certbot拒绝通配符证书的DNS TXT记录

时间:2019-02-12 16:02:53

标签: ssl dns certificate lets-encrypt certbot

任务: 我想使用LetsEncrypt Certbot提供的DNS质询方法一次性创建* .example.com和example.com的通配符证书。

复制: 当尝试获取设置我的SSL证书所需的证书文件时,我遇到了LetsEncrypt Certbot的catch22情况。

我使用这些参数调用certbot命令

certbot certonly --agree-tos --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory -d "*.example.com,example.com"

,然后要求在命令的响应中输入两个DNS TXT记录。

到目前为止,太好了。但是,如果我按照certbot命令的要求输入给定域的两个请求的DNS TXT记录,则会收到错误消息:

  

重要说明:    -服务器报告了以下错误:

     

域名:example.com类型:未经授权详细信息:不正确   在
找到TXT记录“ [example.com的身份验证代码段]”   _acme-challenge.example.com

     

要解决这些错误,请确保您的域名为
  输入正确,并且该域的DNS A / AAAA记录
  包含正确的IP地址。

问题:Certbot不接受完全相同的DNS TXT记录,只是提示我进行设置。

似乎Certbot无法应付我试图同时请求“ * .example.com”和“ example.com”两者的证书这一事实,将它们视为属于两个不同的域领域,并且不按预期接受两个TXT记录。

2 个答案:

答案 0 :(得分:1)

事实证明,此错误确实是由于域提供商引起的DNS刷新滞后而发生的。 @low_skilled的回复帮助我弄清楚了我输入的实际TXT记录花费了几分钟的时间来由域服务提供商设置,即使其TTL设置为60秒。谢谢回复。问题解决了!

答案 1 :(得分:0)

我发现只需创建一个记录TXT(_acme-challenge。*),并以行分隔的两个值(由certbot提供的哈希值) 。运行certbot之后,请记住重新启动您的Web服务器。

我认为这取决于您的DNS服务器。我在Route 53-AWS中做到了,并且可以解决此问题。

糟糕:考虑在更改记录后等待几秒钟(+30)。

我知道您已解决问题,但我认为它可以帮助某人学习certbot的工作原理。