Apache 通过 ajp 监听连接到两个 tomcat 实例的两个端口

Apache 通过 ajp 监听连接到两个 tomcat 实例的两个端口

我的 apache 网络服务器(httpd.conf)有以下配置:

...
Listen 80
Listen 8082
...
<VirtualHost *:80>
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
<VirtualHost *:8082>
    ProxyPass / ajp://localhost:8010/
    ProxyPassReverse / ajp://localhost:8010/
</VirtualHost>

端口 8009 和 8010 由两个 tomcat 实例使用。这三个实例均已启动并正在运行。但是,我只能访问端口 80 上的内容。当我尝试访问端口 8082 上的内容时,出现以下错误:

503 Service Temporarily Unavailable - The server is temporarily unable to service your request due to maintenance downtime or capacity problems.

你有什么想法吗?也许我搜索的地方不对。

答案1

由于您正在连接非标准端口,我猜测是 SELinux。我建议您进入setsebool httpd_can_network_connect 1然后重试。

答案2

尝试 wget/curlhttp://本地主机:8082/从运行 Apache httpd 的服务器的命令行。

如果这些方法有效,那么您就存在网络连接问题,可能是 iptables 或类似问题。

如果它们不起作用,则 Apache httpd 无法绑定到端口 8082。Apache httpd 无法绑定到 IP/端口的可能原因(尽管并非所有原因都与您相关)详述如下:

http://wiki.apache.org/httpd/CouldNotBindToAddress

相关内容