2012-02-15 82 views
0

可以說我有多個http服務器上的每個可想象的技術。例如用於PHP的Apache,用於JSP的Tomcat等......在具有一個物理接口和一個公共IP的一臺機器上運行。基於完整域名重新路由http請求

現在,我希望他們都在同一個端口上響應,當然是80。這是不可能的,因爲一個應用程序=使用TCP/IP的一個端口。我知道,例如apache可以集成Tomcat,並在.jsp頁面上處理請求給他,但我想到的是不同的,更普遍的評價。

是可能的,也許更好的問題是,有沒有任何應用程序可以預先過濾HTTP請求,並將它們轉發到不同的端口?基於域請求?雙向?所以客戶會認爲他正在和80端口通話,但是在內部他會由運行在端口8080上的Tomcat服務?我希望你明白我的意思。

謝謝。

回答

0

我會使用反向代理,如apache mod_proxy。即使所有服務器都在同一臺物理主機上,反向代理也會將傳入請求重新路由到正確的服務器。

只要有多個Web服務器必須通過一個公共IP地址訪問,就可以使用反向代理。 Web服務器在同一臺計算機的不同端口上偵聽,具有相同的本地IP地址,或者可能位於不同的機器和不同的本地IP地址上。反向代理分析每個來電並將其傳送到局域網內的正確服務器。

http://en.wikipedia.org/wiki/Reverse_proxy

+0

似乎真的不錯,謝謝:) – 2012-02-15 16:28:23