当 ISP 阻止端口 80 时从 Let's Encrypt 获取 SSL 证书

当 ISP 阻止端口 80 时从 Let's Encrypt 获取 SSL 证书

目前我正在运行一个 apache http 服务器,监听端口 81,因为我的 ISP 阻止了端口 80。我想获得一个有效的 SSL 证书,我一直在阅读这个论坛这里,但我不完全明白他们在说什么。我完全控制我的路由器和服务器。那么,有没有办法用我的设置从 Let's Encrypt 获取 SSL 证书?

我想在端口 443 上运行 https。

由于我还不能完全控制我的 DNS,因此我无法进行 txt 验证。

当我尝试运行时,sudo certbot --apache我得到了这个:

Cleaning up challenges
Unable to find a virtual host listening on port 80 which is currently 
needed for Certbot to prove to the CA that you control your domain.
Please add a virtual host for port 80.

答案1

主要问题是您将使用哪个端口进行 HTTPS(假设 81 是 HTTP)

HTTPS 将运行在端口 443 上

有些 ISP 会阻止 80,但不会阻止 443。在这种情况下,你应该能够使用任何正常的客户端和质询类型

HTTPS 将位于其他端口(而非 443)

在这种情况下,我们将要使用dns-01挑战,如下所示:

certbot certonly --manual --preferred-challenges dns -d mydomain.com

请注意,这将要求您创建TXT具有指定内容的记录,因此您需要控制您的 DNS。

相关内容