Apache 2.4 已更新,现在抛出:无法在同一个 IP:port 上定义多个监听器

Apache 2.4 已更新,现在抛出:无法在同一个 IP:port 上定义多个监听器

我刚刚在我的 AWS 实例(运行 Linux AMI)上将 Apache 更新到 2.4.3。更新完成后,Apache 崩溃,并出现以下情况:

Starting httpd: AH00526: Syntax error on line 5 of /etc/httpd/conf.d/ssl.conf:
Cannot define multiple Listeners on the same IP:port

我进入上述文件并注释掉第 5 行:#Listen 443,因为新文件httpd.conf包含一行已经设置了上述监听器:

httpd.conf:

 40 ...
 41 #Listen 12.34.56.78:80
 42 Listen 80
 43 Listen 443
 44 
 45 ...

我的问题是,如果我在 VirtualHost 的配置文件中单独配置 SSL 证书,我是否可以注释掉 httpd/conf.d/ssl.conf 中的每一行?我的意思是,将其包含在内是否仍然很重要?为什么 Apache 2.4.3 设置了Listen 443两次?

谢谢!

答案1

我在不同的文件上遇到了同样的错误

AH00526: Syntax error on line 18 of /private/etc/apache2/other/httpd_xcs.conf:
Cannot define multiple Listeners on the same IP:port

我刚刚评论了#Listen 443,效果很好。

答案2

我在安装了 Apache 2.4 的 Windows 10 Server 下遇到了这个问题。问题在于只允许一个端口绑定。

默认httpd配置文件最后有以下部分:

<IfModule ssl_module>
Listen 443
Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
<IfModule http2_module>
    ProtocolsHonorOrder On
    Protocols h2 h2c http/1.1
</IfModule>

如您所见,第二行有一个端口绑定,和Listen 443中还有另外两个端口绑定。conf/extra/httpd-ssl.confconf/extra/httpd-ahssl.conf

httpd.conf您可以在包含的配置文件中或内部注释掉相应的端口绑定。

答案3

您可以通过以下方式检查哪个文件占用了哪个端口:

sudo grep -r “监听” /etc/apache2/

然后注释掉已被多次监听的端口(你不想要的)以消除冲突

相关内容