让我们通过 HTTPS 加密 certbot 验证

Dan*_*l F 17 ssl lets-encrypt

来自Certbot webroot 插件的文档

webroot 插件通过为您请求的每个域创建一个临时文件来工作${webroot-path}/.well-known/acme-challenge然后让我们加密验证服务器发出 HTTP 请求,以验证每个请求域的 DNS 是否解析为运行 certbot 的服务器。

在私人使用的家庭服务器上,我禁用了端口 80,即路由器中没有启用端口转发。我无意打开那个端口。

如何告诉 certbot 验证服务器不应发出 HTTP 请求,而是发出 HTTPS(端口 443)请求来验证域的所有权?

验证服务器甚至不需要验证主服务器的证书,因为它默认已经使用 HTTP。我可能有一个自签名证书,或者需要续订的证书,但这应该无关紧要。

目前我处于需要启用端口 80 转发以及其上的服务器以创建/更新证书的情况。这不允许我使用 cronjob 来更新证书。好吧,只要有足够的工作就可以了,但是我已经有一台服务器在监听 443,它也可以完成这项工作。

Bil*_*hor 8

https://community.letsencrypt.org/t/shouldnt-verification-via-dns-record-be-a-priority/604/47所述,letsencrypt.sh更新程序支持通过 DNS 进行验证。似乎很少有更新程序脚本实现了这一点。但是,对于初始配置,HTTP 方法是最容易实现的。

您拥有的脚本可能会使用 TNS SNI 或拥有先前密钥的证明进行续订。可以在https://tools.ietf.org/html/draft-ietf-acme-acme-01#section-7.5找到规范。如果是这种情况,您将不需要启用 HTTP。