Squid反向代理若干個后臺的WEB實現(xiàn)說明 |
發(fā)布時間: 2012/8/11 10:57:10 |
1.Squid反向代理單個后臺WEB服務(wù)器
A、如果WEB服務(wù)器和反向代理服務(wù)器是兩臺單獨的機器(一般的反向代理應(yīng)該有兩塊網(wǎng)卡分別連接了內(nèi)外部網(wǎng)絡(luò))。那么,應(yīng)該修改下面的內(nèi)容來設(shè)置反向代理服務(wù)。 http_port80#squid監(jiān)聽的端口 httpd_accel_host192.168.0.100#內(nèi)部WEB服務(wù)器的IP地址 httpd_accel_port80#WEB服務(wù)器的IP地址 httpd_accel_single_hoston#轉(zhuǎn)發(fā)為緩沖的請求到一臺單獨的機器 httpd_accel_with_proxyon# httpd_accel_uses_host_headeroff B、如果WEB服務(wù)器和反向代理服務(wù)器是同一臺機器。那么,應(yīng)該設(shè)置WEB服務(wù)器的監(jiān)聽端口為非80端口(比如:81端口)。要修改的內(nèi)容如下: http_port80#squid監(jiān)聽的端口 httpd_accel_hostlocalhost#內(nèi)部WEB服務(wù)器的IP地址 httpd_accel_port81#WEB服務(wù)器的IP地址 httpd_accel_single_hoston#轉(zhuǎn)發(fā)為緩沖的請求到一臺單獨的機器 httpd_accel_with_proxyon# httpd_accel_uses_host_headeroff 下面解釋一下配置指令: http_port80 選項http_port指定squid監(jiān)聽HTTP請求的端口,一般都設(shè)置成80端口,這樣使用戶感覺不到反向代理的存在,就像訪問真正的WEB服務(wù)器一樣。 httpd_accel_host192.168.0.100和httpd_accel_port80 選項httpd_accel_host和httpd_accel_port指定WEB服務(wù)器的IP地址和端口號,可以根據(jù)自己的WEB服務(wù)器的實際情況而定。 httpd_accel_single_hoston 選項httpd_accel_single_host為on時,squid被設(shè)置成僅對單一的web服務(wù)器作反向代理。不考慮HTTP頭信息,Squid轉(zhuǎn)發(fā)所有的為被緩沖的頁面請求到這個web服務(wù)器。如果squid需要做多個web服務(wù)器反向代理,必須將此選項設(shè)置為off,并且使用轉(zhuǎn)向器或者DNS去映射請求到合適的后臺WEB服務(wù)器。 httpd_accel_with_proxyon 如果希望squid既作反向代理服務(wù)器又作本地機器的上網(wǎng)代理,需要將httpd_accel_with_proxy改為on,默認(rèn)情況下是off httpd_accel_uses_host_headeroff 在HTTP協(xié)議1.1中,HTTP請求包括一個主機頭信息,指定URL的主機名或者主機的IP地址。這個選項可以用來完成多個后臺WEB服務(wù)器的反向代理功能。 我們可以用Squid反向代理多個后臺WEB服務(wù)器。例如:我們可以配置squid同時反向代理www.xxx.comwww.yyy.comwww.zzz.com三個后臺WEB服務(wù)器。 Squid的配置如下: httpd_accel_hostvirtual httpd_accel_port80 httpd_accel_single_hostoff httpd_accel_uses_host_headeron 注意:編譯Squid時需激活I(lǐng)nternalDNS選項 ——disable-internal-dns 一個比較全的編譯配置如下: ./configure——prefix=/usr/local/squid——enable-dlmalloc——with-pthreads——enable-poll——disable-internal-dns——enable-stacktrace——enable-removal-policies="heap,lru"——enable-delay-pools——enable-storeio="aufs,coss,diskd,ufs" 然后設(shè)置設(shè)置反響代理需要的域名解析(加入hosts)如下: www.xxx.com111.222.333.444 www.yyy.com111.222.333.444 www.zzz.com111.222.333.444 使三個域名都指向反向代理服務(wù)器的IP地址111.222.333.444。 下面設(shè)置反向代理所需要的DNS入口信息(即設(shè)置內(nèi)部DNS,僅僅是squid在內(nèi)部使用,Internet用戶不可見)。有兩種方法可以設(shè)置內(nèi)部DNS,使用內(nèi)部DNS服務(wù)器來解析或者使用/etc/hosts文件來實現(xiàn)。 使用內(nèi)部DNS服務(wù)器的資源記錄如下: www.xxx.comINA192.168.0.101 www.yyy.comINA192.168.0.102 www.zzz.comINA192.168.0.103 如果使用/etc/hosts文件來實現(xiàn)內(nèi)部DNS(編譯時應(yīng)使用disableinternaldns選項),編輯/etc/hosts文件添加如下條目: 192.168.0.101www.xxx.com 192.168.0.102www.yyy.com 192.168.0.103www.zzz.com 本文出自:億恩科技【m.1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |