** 更新了此答案底部的解决方法 **
我需要让我的 webapp 代理到 2 个外部报告服务器。所以我将为每个外部报告服务器提供一个菜单项。
但是浏览器 URL 看起来也像是我的服务器,所以我不能只是重定向。这些服务器都具有相同的上下文根 /ibm
对于这两个服务器,浏览器 URL 应该类似于http://example.com/ibm .. 而 apache 代理到正确的。
应该如何进行这样的设置?Apache 如何知道它必须代理哪一个?
如果我必须做一些更改,我不会我的,所以 URL 会变成这样:
http://example.com/rep1/ibm and http://example.com/rep2/ibm
Run Code Online (Sandbox Code Playgroud)
我设法使用我的 weblogic-proxy servlet 和操作 URL 等获得了预期的效果,但如果这可以以某种方式完成,Apache 将是一个更有效的解决方案。
我感谢任何输入。
此外,对外部报告服务器的初始请求是从我的 web 应用程序启动的,而不是从浏览器启动。
** 更新 **
我们现在必须代理到大约 10 个其他网络服务器,其中一些有这个问题。但是每当目标网络服务器部署在根目录中时,我们还必须重写主体等。对于这些代理集成中的一些来说,这需要大量的反复试验。
解决方法:我们已经为这些代理的网络服务器切换到子域,实际上子域 URL 仍然指向我们自己的 apache,但是使用这些子域名称我们可以更轻松地在我们的 Apache 配置中设置虚拟主机和代理,并且我们不必重写任何响应主体等。