Apache 转发到 tomcat 显示空白页

Apache 转发到 tomcat 显示空白页

我有一个应用程序在 的 tomcat 上运行http://www.example.com:9090/mycontext。 中的主机名server.xml指向www.example.com。我不再有localhost。我使用 apache 将请求转发到 tomcat,使用mod_proxy。只要 是 ,一切就都正常ProxyPath/mycontext虚拟主机中设置的服务器名称是www.abc.com,并且http://www.abc.com/mycontext工作正常。但是我想忽略上下文路径,只使用http://www.abc.com/将请求转发到。当我这样做时,apache 显示一个空白页。我这里漏掉了什么?除了将默认主机更改为 之外http://www.example.com:9090/mycontext,我没有更改 中的任何内容。server.xmlwww.example.com

<VirtualHost *:80>
 ServerName www.abc.com

 ProxyRequests Off
 ProxyPreserveHost On

 <Proxy *>
 Order deny,allow
 Allow from all
 </Proxy>

 ProxyPass / http://www.example.com:9090/mycontext
 ProxyPassReverse / http://www.example.com:9090/mycontext
 </VirtualHost>

谢谢

答案1

在 mod_proxy 中匹配尾部斜杠很重要。

ProxyPass / http://www.example.com:9090/mycontext

这将接受请求http://www.abc.com/something并将其代理到http://www.example.com:9090/mycontextsomething- 不是很有帮助!

请尝试以下配置:

ProxyPass / http://www.example.com:9090/mycontext/
ProxyPassReverse / http://www.example.com:9090/mycontext/

另外 - 如果 Tomcat 期望www.example.com作为主机头,那么您可能不想要该ProxyPreserveHost On指令。

相关内容