![无法从 let's encrypt 获取证书](https://linux22.com/image/698080/%E6%97%A0%E6%B3%95%E4%BB%8E%20let's%20encrypt%20%E8%8E%B7%E5%8F%96%E8%AF%81%E4%B9%A6.png)
我在从 let's encrypt 获取证书时遇到问题。我的网站是:www.webuilder.co.uk。我总是收到这样的错误:
我的设置如下:
如果需要任何其他信息,请告诉我,帮我解决这个问题,因为我已经为此苦苦挣扎了好几天
编辑://我想我已经找到了问题,但现在需要解决方案
当我输入:nslookup -type=soa webuilder.co.uk 我得到:
;; Got recursion not available from 217.160.82.109, trying next server
Server: 87.237.17.182
Address: 87.237.17.182
Non-authoritative answer:
webuilder.co.uk
origin = ns1088.ui-dns.de
mail addr = hostmaster.1and1.com
serial = 101720101
refresh = 28800
retry = 7200
expire = 604800
minimum = 600
Authoritative answers can be found from:
webuilder.co.uk nameserver = ns1120.ui-dns.biz
webuilder.co.uk nameserver = ns1109.ui-dns.com
webuilder.co.uk nameserver = ns1103.ui-dns.org
webuilder.co.uk nameserver = ns1088.ui-dns.de
ns1109.ui-dns.com internet address = 217.160.82.109
这就是问题所在吗?这些是 1&1 的默认名称服务器,我应该更改它吗?该怎么做?
答案1
为了获得有效的证书,LetsEncrypt 需要能够验证服务器和域,这通常需要将文本放置在 Web 服务器上 HTTP 可访问的位置 - 这很可能不是在家庭实验室环境中工作,因为您的虚拟机将位于家庭路由器后面。
在您此处的实例中,域验证失败,因为您的 Web 服务器无法通过端口 443 上的 HTTPS 联系,LetsEncrypt 在standalone
模式下运行时使用该端口作为其默认质询方法。
还有一种可用的替代方法,即在端口 80 上使用纯文本 HTTP。要使用该方法,请--standalone-supported-challenges http-01
按照文档并从你的民众网络服务器。
还有一种dns-01
仅由非官方支持的挑战方法脱水LetsEncrypt 的客户端。这允许您使用 DNS 作为验证方法为非公共服务器创建证书,并要求您创建 TXT 记录来验证域。
无论采用何种质询方法,LetsEncrypt不能用于为非公开 TLD(例如 example.local)或您不拥有/管理的 TLD(例如 google.com)生成证书。
另外,正如问题评论中所要求的那样,以后请将文本粘贴到问题中,而不是发布截图。