我有一个指向服务器的域 domain.com。现在我有一个子域 sub.domain.com 指向另一个运行 Apache 和 Tomcat 的服务器。
我在 httpd.conf 中配置了以下内容:
<VirtualHost *:80>
ServerName domain.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
<VirtualHost *:80>
ServerName sub.domain.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
在 Tomcats server.xml 中:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
但是当我转到 sub.domain.com 时,它会转到 otherdomain.com 并向我显示这个声明如下的 php 网站:
<VirtualHost *:80>
DocumentRoot /var/www/html/otherdomain.com
ServerName otherdomain.com
ServerAlias www.otherdomain.com
</VirtualHost>
只有当我将 domain.com 和 sub.domain.com 虚拟主机声明中的端口更改为类似 8001 时,它才能工作。然后当我转到 sub.domain.com:8001 时,它会显示我的 tomcat 应用程序(ROOT.战争)。
所以我的问题是:如果默认端口 80 不起作用,会出现什么问题?我找不到任何导致这种情况的配置,但我可能遗漏了什么?