java-Tomcat在路径上的Apache代理错误后

我正在尝试将apache 2.2配置为服务器上某些应用程序的代理.

tomcat-jira:与Jira的安装程序一起安装;
tomcat-dev:只是另一个应用程序的容器.

首先,我的httpd.conf是这样的:

ProxyRequests Off
ProxyPreserveHost On

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

ProxyPass /jira http://dev.debian.local:8080/jira
ProxyPassReverse /jira http://dev.debian.local:8080/jira

ProxyPass /tomcat http://dev.debian.local:8088
ProxyPassReverse /tomcat http://dev.debian.local:8088

<Location /jira>
    Order allow,deny
    Allow from all
</Location>

<Location /tomcat>
   Order allow,deny
   Allow from all
</Location>

因此,当我键入http://dev.debian.local/jira时,它将起作用!
但是在tomcat-dev,http://dev.debian.local/tomcat中,它显示的页面很糟糕,没有样式,当我单击manage-aps时,它重定向到:

http://dev.debian.local/manager/html而不是http://dev.debian.local/tomcat/manager/html导致404错误.

在tomcat-jira上,它具有一个用于配置应用程序的参数,该参数是:

   
   

因为它只是一个应用程序,所以可以正确重定向.如何在tomcat实例上执行类似的操作? Tomcat根是否有上下文路径?

解决方法:

如您所见,使用ProxyPass更改Web应用程序的路径通常会破坏一切.

相反,您应该执行以下任一操作:

ProxyPass /tomcat http://dev.debian.local:8088/tomcat
ProxyPassReverse /tomcat http://dev.debian.local:8088/tomcat

或这个:

ProxyPass / http://dev.debian.local:8088
ProxyPassReverse / http://dev.debian.local:8088

如果您选择第二个选项,则将“ tomcat” Web应用程序重命名为“ ROOT”(区分大小写:即使在不区分大小写的文件系统上,也要使用大写字母).

上一篇:java-Maven-如何使用多个版本的依赖项?


下一篇:python-Confluence WIki页面未通过API更新