从 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 可能出了什么问题?我找不到导致此问题的任何配置,但我可能遗漏了什么?
看来我的配置毕竟是正确的。这只是我的浏览器缓存在捉弄我。我在开发时禁用了缓存,以免再次发生这种情况。
我有一个指向服务器的域 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 可能出了什么问题?我找不到导致此问题的任何配置,但我可能遗漏了什么?
看来我的配置毕竟是正确的。这只是我的浏览器缓存在捉弄我。我在开发时禁用了缓存,以免再次发生这种情况。