5.8 反向代理
基於名稱的虛擬主機
圖5-16 基於名稱的虛擬主機的工作原理
工作原理:反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個服務器。
2.構建基於名稱的虛擬主機
圖5-18 基於名稱的反向代理.
1.客戶端發出請求給www.v2.com
2.DNS服務器進行名稱解析
3.反向代理服務器提出網頁請求
4.代理服務器接收web服務器返回的網頁,並回送給客戶端。
配置:
32 acl domain_v1 dstdomain www.v1.com
33 acl domain_v2 dstdomain www.v2.com
34 acl domain_v3 dstdomain www.v3.com
35 acl web_port port 80
42 http_access allow domain_v1 web_port
43 http_access allow domain_v2 web_port
44 http_access allow domain_v3 web_port
72 http_port 80 vhost
89 cache_peer 192.168.1.20 parent 80 0 no-query originsercer name=web_server1
90 cache_peer 192.168.1.30 parent 80 0 no-query originsercer name=web_server2
92 cache_peer_domain web_server1 www.v1.comwww.v2.com
93 cache_peer_domain web_server2 www.v3.com
第32-35行:分別定義客戶端通過反向代理能夠訪問的“主機”及“端口號”。
第42-44行:限制客戶端通過反向代理所能訪問的範圍。
第72行:設置squid所服務的端口號爲80。
第89行-90行:設置真實Web服務器所在的IP地址列表,並定義其代表名稱。
第92行-93行:告訴反向代理,如果客戶端送來的“主機名稱”爲www.v1.com或者www.v2.com,請到web_server1幫客戶端取得其所要訪問的網頁數據,如果客戶端送來的主機名稱是www.v3.com,則到web_server2取得客戶端所要訪問的網頁數據。