反向代理有很多實現方式,本文主要講述Apache的反向代理。
1、簡述
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。
下圖就是一個簡單的反向代理過程
2、配置
?。?)首先確保Apache有這些模塊,在Apache根目錄下確認有這些模塊,主要包含以下模塊:
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_http.so
打開配置conf/httpd.conf文件,將這些模塊的注釋去除,如下圖所示:
?。?)修改配置文件,打開文件 conf/httpd.conf ,在文件末尾加上如下配置:
#反向代理
ProxyRequests Off
ProxyPass /clusterDemo http://127.0.0.1:8081/clusterDemo
ProxyPassReverse /clusterDemo http://127.0.0.1:8081/clusterDemo
ProxyPass /clusterDemo2 http://127.0.0.1:8082/clusterDemo2
ProxyPassReverse /clusterDemo2 http://127.0.0.1:8082/clusterDemo2
ProxyPass /clusterDemo3 http://127.0.0.1:8083/clusterDemo3
ProxyPassReverse /clusterDemo3 http://127.0.0.1:8083/clusterDemo3
#8888為apache的監聽端口
<proxy http://127.0.0.1:8888>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>
?。?)測試
啟動apache和對應的tomcat。
在瀏覽器上輸入地址:http://127.0.0.1:8888/clusterDemo/index.jsp
在瀏覽器上輸入地址:http://127.0.0.1:8888/clusterDemo2/index.jsp
地址欄中請求的應用能正確訪問表示,Apache的反向代理請求轉發成功?。?!