Squid的介紹:
一款超強(qiáng)、開源的Proxy軟件,除了做普通的代理服務(wù)器外,還可以做反向代理的WEB加速。如果你知道國內(nèi)他的使用者有sina、sohu、netease...
忙活了兩天,總算把Squid的反向代理服務(wù)器設(shè)置好了,總結(jié)一下,方便后來者
本文主要討論的是squid反向代理模式用做web加速服務(wù)器的設(shè)置
按照本文的說明,你最終可以實(shí)現(xiàn)一個(gè)squid對(duì)多個(gè)網(wǎng)站進(jìn)行緩存加速的功能(這些網(wǎng)站可以在squid本機(jī)上www.skyhe.com,也可以在其它服務(wù)器上bbs/photo.skyhe.com)
首先
你需要下載一份最新的Squid軟件,并根據(jù)參考文章安裝配置
Squid - NT版本下載:
http://www.acmeconsulting.it/pagine/opensource/squid/SquidNT.htm
Squid的正向代理服務(wù)設(shè)置相當(dāng)簡(jiǎn)單,相信你很快就能獲得成就感:)
其次
為了測(cè)試域名轉(zhuǎn)向,你最好在自己的內(nèi)網(wǎng)服務(wù)器上面安裝一個(gè)DNS Server
(DNS Server的安裝設(shè)置問題請(qǐng)參考相關(guān)書籍或文章),并設(shè)置好區(qū)域(正向查找、反向查找)、主機(jī)(A紀(jì)錄)
www.skyhe.com 192.168.10.252
bbs.skyhe.com 192.168.10.56
photo.skyhe.com 192.168.10.119 |
以上252是主網(wǎng)站的服務(wù)器IP(和Squid同一臺(tái)機(jī)器),56、119分別是其它兩個(gè)網(wǎng)站的內(nèi)部IP。
同時(shí),你需要在本地的host文件加入內(nèi)部的DNS解析,比如:
192.168.10.252 www.skyhe.com
192.168.10.252 bbs.skyhe.com
192.168.10.252 photo.skyhe.com |
192.168.10.252是你的squid服務(wù)器地址,本文測(cè)試環(huán)境下,整個(gè)反向代理訪問的流程是:
用戶請(qǐng)求bbs.skyhe.com - 本機(jī)host解析為192.168.10.252 - squid服務(wù)器
- DNS服務(wù)器(解析到192.168.1.56) - web服務(wù)器(如果沒有緩存該頁) - squid服務(wù)器 - 用戶
然后
根據(jù)參考文章配置反向代理服務(wù)器,在配置的過程中要注意以下幾點(diǎn)
1、服務(wù)器port設(shè)置
本機(jī)轉(zhuǎn)別機(jī)和本機(jī)轉(zhuǎn)本機(jī)(squid和web server在一臺(tái)機(jī)器上)的設(shè)置不同
前者squid和web可以都用80端口,后者squid用80,web服務(wù)器得換端口
2、dst和dstdomain的區(qū)別
前者是對(duì)ip定義別名,后者是對(duì)domain定義別名
如果采用ip定義別名,httpd_accel_host不能采用“virtual”模式
3、httpd_accel_with_proxy
采用加速器模式,默認(rèn)是關(guān)掉代理服務(wù)的,如果打開,將無法使用高速緩存加入web服務(wù)(加速器下,squid會(huì)將web內(nèi)容放入內(nèi)存,響應(yīng)速度肯定比硬盤文件緩存快)
我的配置文件如下:
# visible name
visible_hostname cache.example.com
# cache config: space use 1G and memory use 256M
cache_dir ufs /usr/local/squid/cache 1024 16 256
cache_mem 256 MB
cache_effective_user squid
cache_effective_group squid
# 以上主機(jī)名和緩存設(shè)置比較簡(jiǎn)單,略過
# 關(guān)鍵 1
http_port 80 # squid監(jiān)聽的端口,必須為80
# ------(你不想用戶用www.skyhe.com:8001訪問你的網(wǎng)站吧?;)
# 關(guān)鍵 2
httpd_accel_host virtual #加速器的主機(jī)名稱或者IP地址。
# *如果是對(duì)多個(gè)域名加速,請(qǐng)?zhí)顚?virtual"(虛擬主機(jī)模式)
httpd_accel_port 8000 #加速器的工作端口,和web服務(wù)器一致
httpd_accel_single_host off
httpd_accel_uses_host_header on
httpd_accel_with_proxy off #是否同時(shí)運(yùn)行代理服務(wù)
# 關(guān)鍵 3 - TAG: acl節(jié)點(diǎn)的設(shè)置
# 設(shè)定可以訪問的域名別名
acl HostA dstdomain www.skyhe.com
acl HostB dstdomain bbs.skyhe.com
acl HostC dstdomain photo.skyhe.com
# 加速器采用http協(xié)議在8000端口監(jiān)聽
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 8000
# 關(guān)鍵 4 - 允許指定的域名在指定端口的訪問
http_access allow acceleratedProtocol acceleratedPort HostA
http_access allow acceleratedProtocol acceleratedPort HostB
http_access allow acceleratedProtocol acceleratedPort HostC
# 日志設(shè)定
emulate_httpd_log on
cache_store_log none
# 管理員相關(guān)設(shè)定
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all
# 最后不要忘了
http_access deny all
|
補(bǔ)充
在調(diào)試的過程中你可能會(huì)不停的遇到緩存的問題,導(dǎo)致你不能正確的看到配置修改后的效果,所以:
1、DNS服務(wù)器段緩存的清除辦法:
DNS配置 - DNS服務(wù)器上右鍵 - 清除緩存
2、DNS客戶端緩存的清除辦法:
CMD - “ ipconfig /flushdns ”
3、Squid緩存的清除辦法
目前沒有找到到合適的,maybe:重啟squid?CMD輸入“ squid -z ”?
4、IE的緩存
Internet選項(xiàng) - 清除臨時(shí)文件 - 清除歷史紀(jì)錄
5、查看DNS服務(wù)器信息的CMD命令:nslookup
例如:nslookup www.sina.com.cn
如果DNS服務(wù)器允許了區(qū)域復(fù)制,還可以在nslookup下用“ls -t abd.com”查看區(qū)域adc.com的所有主機(jī)列表
本文轉(zhuǎn)自:
http://www.skyhe.com/blog/bloget/home/review.asp?id=600
---------------------------------------------------------------------------------------------------------------------------------
說人之短,乃護(hù)己之短。夸己之長(zhǎng),乃忌人之長(zhǎng)。皆由存心不厚,識(shí)量太狹耳。能去此弊,可以進(jìn)德,可以遠(yuǎn)怨。
http://www.tkk7.com/szhswl
------------------------------------------------------------------------------------------------------ ----------------- ---------
posted on 2008-01-23 19:38
宋針還 閱讀(1581)
評(píng)論(0) 編輯 收藏 所屬分類:
反向代理