我有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证书?
答案 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,然后重新激活原始配置。