从Apache到Tomcat的子域名ajp代理

时间:2015-05-07 07:52:18

标签: apache tomcat mod-proxy-ajp

我有域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.war)。

所以我的问题是:它可能出错,它不能与默认端口80一起使用?我找不到导致这种情况的任何配置,但我可能错过了什么?

1 个答案:

答案 0 :(得分:0)

显然我的配置毕竟是正确的。这只是我的浏览器缓存对我的伎俩。我在开发过程中暂时禁用缓存,以便不再发生这种情况。