我有一个 tomcat 服务器,它由一个 apache 服务器作为前端,它们都在同一台机器上运行。在 apache httpd.conf 中,我看到以下内容:
ProxyRequests Off
ProxyPass /MACS ajp://10.50.3.23:38009/MACS retry=0 timeout=20000
在 Tomcat server.xml 中,我看到以下内容:
<Connector port="38080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxHttpHeaderSize="16384"
redirectPort="38443" xpoweredBy="false" server="Apache TomEE" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="38009" protocol="AJP/1.3" redirectPort="38443" />
我在 server.xml 中没有看到为端口 38443 设置的连接器。那么,当我访问 apacheserver/MACS 链接时,tomcat ajp 连接器如何知道将其转发到 38080?(注意:网站正常运行,MACS 应用程序正在 tomcat 服务器中运行。因此,我假设流量以某种方式被转发到 38080。)
答案1
我无法完全回答这个问题,但以下是我迄今为止收集的一些信息片段:
AJP 端口是一个单独的连接器。它不会重定向到 http 端口(在您的情况下为 38080),而只是处理请求本身。除非您还打算将浏览器直接指向 tomcat(从而绕过 apache),否则您可以(甚至应该)注释掉普通的 http 连接器。
指定的重定向端口可能只是一些语法样板,用于指定某种永远不会发生的重定向,除非您在 tomcat 中的其他地方添加一些特定的配置。