目前我正在运行一个 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。