【问题标题】:Tomcat behind an apache proxy error on pathTomcat 在路径上出现 apache 代理错误
【发布时间】:2015-08-03 01:57:30
【问题描述】:

我正在尝试将我的 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,它显示页面,badbly,没有样式,当我点击manage-aps时,它重定向到:

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

在 tomcat-jira 上有一个参数来配置应用程序:

因为它只是一个应用程序,所以它可以正确重定向。我怎样才能在 tomcat 实例上做这样的事情? tomcat 根目录有上下文路径吗?

【问题讨论】:

标签: java apache tomcat jira mod-proxy


【解决方案1】:

如您所见,使用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”(区分大小写:使用大写字母,即使在不区分大小写的文件系统上也是如此)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 2010-09-15
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多