15

我正在使用 Tomcat 5.5.9 和 Apache 2.x

我们正在尝试在 ProxyPass 中使用与 Tomcat 上下文名称不同的路径名称。

ProxyPass /path http://localhost:8080/contextname

但是,这不起作用。当这两个相同时,一切正常。

我在网上看到的大多数示例的路径也等于 Tomcat 上下文名称。

我在 Tomcat 上下文中使用“context.xml”并且没有“server.xml”条目。另外,我使用的是普通的 httd.conf,而不是使用任何 VirtualHost 条目。

4

4 回答 4

12

我相信你两者都需要

ProxyPass /path/ http://localhost:8080/contextname/
ProxyPassReverse /path/ http://localhost:8080/contextname/

有什么理由不使用mod_jk吗?

于 2009-09-08T14:31:26.980 回答
3
RewriteEngine on
RewriteRule ^/path$ /path/ [R]
RewriteRule ^/path/(.*) /contextname/$1 [P]

ProxyPass /contextname/ protocol://192.168.15.48:8080/contextname/
ProxyPassReverse /contextname/ protocol://192.168.15.48:8080/contextname/

在这种情况下,“协议”=“http”...

于 2009-09-09T16:58:51.220 回答
3

为两个值添加斜线:

ProxyPass /path/ http://localhost:8080/contextname/

于 2010-06-23T10:38:16.237 回答
2

您的问题可能是应用程序生成的自引用 URL。您对此无能为力,除了

  1. 更改应用程序或
  2. 重写它吐出的一切。

选项 2 可能非常脆弱。有关更多信息,请参阅tomcat 文档

于 2010-07-14T14:38:16.073 回答