让我们通过HTTPSencryptioncertbotvalidation

从Certbot webroot插件的文档

webroot插件的工作原理是在${webroot-path}/.well-known/acme-challenge为每个请求的域创build一个临时文件。 然后,让我们encryptionvalidation服务器使HTTP请求validation每个请求的域的DNSparsing为运行certbot的服务器。

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

如何告诉certbotvalidation服务器不应该发出HTTP请求,而是HTTPS(端口443)请求,以validation域的所有权?

validation服务器甚至不需要validation家庭服务器的证书,因为它已经默认使用HTTP。 我可能会有一个自签名的证书,或者是要续约的证书,但是这不重要。

目前我处于需要启用端口80转发以及服务器的情况,以创build/更新证书。 这不允许我使用cronjob来更新证书。 那么,有足够的工作,但我已经有一个服务器在443听,这也可以做的工作。

正如https://community.letsencrypt.org/t/shouldnt-verification-via-dns-record-be-a-priority/604/47中所报告的那样, letsencrypt.sh更新程序支持通过DNS进行validation。 几乎没有更新的脚本似乎已经实现了这一点。 但是,HTTP方法对于初始configuration来说是最简单的。

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