我想在与 443 不同的端口上为网络服务器设置 certbot。运行时出现以下错误
certbot --apache -d <sub>.<domain>.<ext>
授权程序失败。sub.domain.ext (tls-sni-01): urn:acme:error:connection :: 服务器无法连接到客户端以验证域 :: 无法连接到 external_ip:443 以进行 TLS-SNI-01 质询
在此错误之后,我阅读了手册页,在其中发现了以下内容:
--tls-sni-01-port TLS_SNI_01_PORT 执行 tls-sni-01 质询的端口号。测试模式下的 Boulder 默认为 5001。(默认值:443)
然后我尝试了以下方法来纠正这个错误:
certbot --apache --tls-sni-01-port 14831 -d <sub>.<domain>.<ext>
添加 tls-sni-01-port 后,我得到了同样的错误。
是否可以安装具有不同端口的证书,或者我做错了什么?
根据: https ://community.letsencrypt.org/t/how-to-specify-a-port-different-from-443-for-the-dvsni-challenge/12753/4
这对于 certbot 是不可能的。您应该在这里查看其他实现方法: https ://community.letsencrypt.org/t/list-of-client-implementations/2103
如果这种情况类似于我在站点上的服务器,其中我将公共 ip 端口 80 和 443 转发到私有 ip 端口 8080 和 8443,你可以这样做: certbot certonly --manual
这将要求您在特定 URL 中提供一个哈希值,通过在您的根网络服务器目录中创建一个包含请求内容的文件(即 http://your.site.com/178412ufhjakjkaslkasflalifalafllkdflkjf和挑战是 adsjaskldlkajsdlkasdlakjsldjalskdasdada )轻松完成
所以你创建/var/www/html/178412ufhjakjkaslkasflalifalafllkdflkjf,它的内容应该是adsjaskldlkajsdlkasdlakjsldjalskdasdada
希望能帮助到你
我相信这
tls-sni
仍然是可能的,但根据发现的事件,letsencrypt 建议人们tls-sni
在未来通知之前不要使用,例如即将推出的tls-sni-03
具有挑战的规范。