1

这里有个奇怪的问题。我是一名 SOA 原型设计实习生。获得一个虚拟服务器是一件很麻烦的事,所以我的老板问我是否可以在我已经运行了 Tomcat 服务器的同一台服务器上运行 Fuse ESB。(它正在运行 Liferay CMS)。我说当然,我不认为 Fuse 使用任何相同的端口,所以应该不是问题吧?

事实证明,在此服务器上打开 80、8080、443 和 8443 以外的端口也是一个很大的麻烦。Fuse Web 控制台在 8181 上运行。

所以我的问题是这个。如何获取到 tomcat 上特定 url 的流量以在本地路由到 Fuse ESB Web 控制台?例如,假设 Liferay 位于https://XXXX/home/guest 之类的。如何使到https://XXXX/fuse/console的流量在 8181 上显示 Fuse ESB Web 控制台?

路由需要在本地进行,因为如果流量返回防火墙外部,则不会在 8181 上再次进入。流量仅在 80、8080、443 和 8443 上进入。如果流量在 22 日也进入它来自我的工作站。我无法控制这一切。

通常我可以通过谷歌搜索得到答案,但在这种情况下,我没有发现任何有用的东西。我认为造成这种情况的原因是我不太了解我需要的术语。此外,这可能是最复杂的方式,但由于我是实习生,我真的没有吸引力。

我很欣赏任何正确方向的指示。请原谅我的无知,我正在自学这些东西。

谢谢,

格里夫

4

1 回答 1

0

我的建议:在前端有一个像样的网络服务器(例如 Apache),并让那个服务器将请求委托给后端。这种情况下,Apache 会在端口 80 和 443 上进行侦听,并使用例如 mod_jk、mod_proxy 或 mod_proxy_ajp 根据 URL 委托给后端服务器。

mod_proxy 将通过 http 进行委托,其他通过 ajp 进行委托,这是一种为信息转发而设计的协议。通过在 Web 上查找模块的文档,您可能可以获得有关这些主题的更准确信息。

生成的连接将由 Apache 发出,因此您已经在防火墙后面 - 这些连接的防火墙应该不再有问题。使用 ajp,tomcat 将以与首先接受连接本身相同的方式获取所有信息

于 2011-11-25T19:45:02.073 回答