绑定到端口80时出现问题:无法绑定到IPv4或IPv6

时间:2019-11-13 15:25:05

标签: ubuntu ubuntu-18.04 lets-encrypt

我有2个项目在不同的端口上运行-同一服务器上的80和8005。这些端口分别指向example1.com和example2.com。我使用https://tecadmin.net/install-lets-encrypt-create-ssl-ubuntu/为example1.com安装了SSL证书,并且该证书有效。但是,当我尝试访问example2.com时,出现了此错误-Problem binding to port 80: Could not bind to IPv4 or IPv6.

我猜测它需要example2.com成为端口80,这是否有解决方法?如何为example2.com安装SSL证书?

2 个答案:

答案 0 :(得分:1)

您必须先停止服务器,然后再运行certbot。

那是您的问题-如果您的应用程序正在侦听端口80,则certbot无法在该端口侦听,因此它无法运行。 https://community.letsencrypt.org/t/problem-binding-to-port-80-with-standalone/50850/4

答案 1 :(得分:0)

有两种解决方法,但它们不是很好。

问题在于,“让我们加密”需要验证您是否拥有该域,并且通常情况下,他们只会在端口80或443上进行加密。

验证类型的文档为here

默认情况下,系统将尝试HTTP-01质询,该挑战仅在端口80(或重定向中的端口443)上允许。

如果您具有域和兼容的DNS服务,则可以尝试进行DNS-01挑战,但由于DNS传播时间长,因此很难实现自动化。

如果您的SNI反向代理正常工作(这是一个更加困难的挑战),则可以尝试进行TLS-ALPN-01挑战。

最好的选择是暂时关闭example1.com,运行example2.com(使用端口80)的certbot,然后重新激活原始配置。