如何在 ProxyPass 中使用与 Tomcat 上下文名称不同的路径名

发布于 2024-08-03 17:40:07 字数 341 浏览 6 评论 0原文

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

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

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

然而,这是行不通的。当这两个相同时 然后一切正常。

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

我在 Tomcat 上下文中使用“context.xml”并执行以下操作 没有“server.xml”条目。另外,我正在使用普通 httd.conf 并且不使用任何 VirtualHost 条目。

I am using Tomcat 5.5.9 and Apache 2.x

We are trying to use a path name in ProxyPass that is different
than the Tomcat context name.

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

However, this does not work. When these two are the same
then everything works fine.

Most examples I see on the net also have the path equal to
the Tomcat context name.

I am using "context.xml" within the Tomcat context and do
NOT have "server.xml" entries. Also, I am using plain
httd.conf and NOT using any VirtualHost entries.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

调妓 2024-08-10 17:40:07

我相信你需要两者都有

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

什么理由不使用 mod_jk

I believe you need both

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

Any reason not to use mod_jk?

平定天下 2024-08-10 17:40:07

为两个值添加斜杠:

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

Add a slash to both values:

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

心病无药医 2024-08-10 17:40:07
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”...

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/

Where "protocol"="http" in this case...

毁我热情 2024-08-10 17:40:07

您的问题可能是应用程序生成的自引用 URL。 之外,您无能为力

  1. 除了更改应用程序或
  2. 重写它输出的所有内容

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

Your problem are probably self-referential URLs that the application produces. There isn't much you can do about it except for

  1. changing the app or
  2. rewrite everything that it spits out.

Option 2 can be very fragile.
See the tomcat docs for more info.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文