我有提供Web应用程序tomcat
的war
。该应用程序的页面可通过tomcat直接访问,因此我们没有httpd
。可以使用URL直接访问:http://<host>:<port>/myapp/
现在,我想包括另一个服务,由于防火墙,该服务实际上可在另一台主机上使用,无法直接访问该另一台主机。
是否可以配置tomcat将对http://<host>:<port>/myapp/external-service
的呼叫转发到该其他服务器(例如http://<other-host>:<port>/external-service
)。
实际上,我需要几乎相同的行为,mod_proxy
的httpd
将通过以下配置提供,但不使用httpd
的行为
ProxyPass /myapp/external-service http://<other-host>:<port>/external-service
ProxyPassReverse /myapp/external-service http://<other-host>:<port>/external-service
我可以通过tomcat配置或servlet配置实现相同的行为吗?即使您不知道答案,也可能会提示您要寻找的设置。目前,我什至不知道要搜索什么。
没有Tomcat不提供反向代理功能。您也许可以找到提供它的库,但我不知道有任何库。您可以自己编写代码,但编写反向代理并不容易。我建议重新考虑不使用httpd的决定-这可能是最简单的方法。