从 Apache 到 Tomcat 的子域 ajp 代理

Subdomain ajp proxy from Apache to Tomcat

我有一个指向服务器的域 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 时,它会转到其他 domain.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.war).

所以我的问题是:它不适用于默认端口 80 可能出了什么问题?我找不到导致此问题的任何配置,但我可能遗漏了什么?

看来我的配置毕竟是正确的。这只是我的浏览器缓存在捉弄我。我在开发时禁用了缓存,以免再次发生这种情况。