任务: 我想使用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记录。
答案 0 :(得分:1)
事实证明,此错误确实是由于域提供商引起的DNS刷新滞后而发生的。 @low_skilled的回复帮助我弄清楚了我输入的实际TXT记录花费了几分钟的时间来由域服务提供商设置,即使其TTL设置为60秒。谢谢回复。问题解决了!
答案 1 :(得分:0)
我发现只需创建一个记录TXT(_acme-challenge。*),并以行分隔的两个值(由certbot提供的哈希值) 。运行certbot之后,请记住重新启动您的Web服务器。
我认为这取决于您的DNS服务器。我在Route 53-AWS中做到了,并且可以解决此问题。
糟糕:考虑在更改记录后等待几秒钟(+30)。
我知道您已解决问题,但我认为它可以帮助某人学习certbot的工作原理。