假设我在每个可想到的技术上都有多个http服务器。例如Apache for PHP,Tomcat for JSP等等......在一台机器上运行,一台物理接口有一个公共IP。
现在,我希望所有人都能在同一个端口上做出响应,当然是80。由于一个app =使用TCP / IP的一个端口,这是不可能的。我知道,apache例如可以集成Tomcat,并处理.jsp页面上的请求给他,但我正在考虑不同的,更普遍的apprach。
是否可能,也许更好的问题是,是否有任何应用程序可以预先过滤http请求,而不是将它们转发到不同的端口?根据域名要求?双向?因此客户会认为他正在与80端口通信,但在内部他将由运行在端口8080上的Tomcat服务?我希望你知道我的意思。
感谢。
答案 0 :(得分:0)
我会使用反向代理,例如apache mod_proxy。即使所有服务器都在同一物理主机上,反向代理也会将传入的请求重新路由到正确的服务器。
只要必须通过单个公共IP地址访问多个Web服务器,就可以使用反向代理。 Web服务器在同一台计算机上的不同端口上侦听,具有相同的本地IP地址,或者可能在不同的计算机和不同的本地IP地址上进行侦听。反向代理分析每个来电并将其传送到局域网内的正确服务器。