我有一个运行了几个应用程序的tomcat实例...我希望我的新域的根目录转到其中一个应用程序(上下文路径)...所以我有以下设置:
<Location />
ProxyPass ajp://localhost:8025/blah
ProxyPassReverse ajp://localhost:8025/blah
</Location>
它有点工作......去mydomain.com/index.jsp工作,除了应用仍然认为它需要添加/ blah /到像css和js这样的东西..有什么我可以做而不需要部署应用程序ROOT或更改tomcat服务器配置?如果可能的话,我想把所有这些事情保留在apache一边。
我想我可能不理解proxypassreverse指令..
答案 0 :(得分:2)
如果您想要将应用程序服务到/,Tomcat希望将应用程序安装在/,并且名称为ROOT。至少这就是我个人总是处理这种情况的方式。即使您只是将应用程序符号链接到ROOT,这应该可以缓解您的问题。如果您将应用程序放在$ {tomcat_home} / webapps / newapp中,那么Tomcat会使用/ newapp上下文部署它。至少,我的历史就是如此。此外,不确定它是否重要但我一直使用:
ProxyPass / ajp://localhost:8025/blah
ProxyPassReverse / ajp://localhost:8025/blah
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您在Tomcat端配置主机,那么您可以代理它们并消除非root webapps的上下文路径 - 在Tomcat server.xml中:
<Host name="myhost">
<Context path="" docBase="/path/to/files" />
</Host>
在Apache方面:
<VirtualHost *:80>
ServerName myhost
ProxyPass / ajp://myhost:8009/
ProxyPassReverse / ajp://myhost:8009/
</VirtualHost>
希望有所帮助。