Certbot letencrypt在不同于443的其他端口上


12

我想在不同于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后,我得到了相同的错误。

是否可以使用其他端口安装证书,或者我做错了什么?


您能否提供给我们certbot文档,其中说明了如何使用“ --tls-sni-01-port 14831”?我还没有在那看到它
Orphans

--tls-sni-01-port TLS_SNI_01_PORT执行tls-sni-01质询的端口号。测试模式下的Boulder默认为5001。(默认值:443)
CaptainJack

您是否尝试过--dvsni-port {PORT}?
Orphans

读懂了,但是如果我尝试certbot --apache --dvsni-port <端口> -d <子>。<域>。<ext>,它说:certbot:错误:无法识别的参数:--dvsni-port <端口>
CaptainJack

1
SSL可以在任何端口上,您只需要指定端口号即可
CaptainJack

Answers:


10

2
Certbots FAQ似乎不是这样吗?certbot.eff.org/faq/...
道格拉斯·加斯克尔

@DouglasGaskell自发布此答案以来,FAQ已更改。但这实际上并没有改变答案。根据常见问题解答,无法在80或443的其他端口上颁发LE证书
Orphans

我知道了。但是,请注意,您可以使用DNS TXT记录代替certbot。我昨晚才这样做。
道格拉斯·加斯凯尔

您是正确的,欢迎您使用该信息编辑此答案!@DouglasGaskell
孤儿

2

我相信这tls-sni仍然是可能的,但是基于发现的事件,letencrypt会建议人们不要使用,tls-sni除非将来发布通知,例如即将发布的tls-sni-03具有挑战性的规范。


0

如果情况类似于我的站点服务器,在该站点中我已将公共IP端口80和443转发到私有IP端口8080和8443,则可以通过以下方式进行操作:certbot certonly --manual

这将要求您提供特定URL中的哈希值,只需在根Web服务器目录中创建一个包含请求内容的文件即可轻松完成,例如 http://your.site.com/178412ufhjakjkaslkasflalifalafllkdflkjf,挑战是adsjaskldlkajsdlkasdlakjsldjalskdasdada

因此您创建了/ var / www / html / 178412ufhjakjkaslkasflalifalafllkdflkjf,其内容应为adsjaskldlkajsdlkasdlakjsldjalskdasdada

希望能帮助到你

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.