好吧,更新個文章,有段時間沒寫技術博文了。今天就說說squid反向 Proxy這個服務,當然,這是在Linux下配置完成的。說自己沒偏見似乎不可能了。大概是相對喜歡Linux而已。但我從不否認Windows Server功能及效能會比Linux差。只是個人愛好哈,不多說。下面說下搭建squid反向 Proxy多個網域名稱,多個web網站的方法。
環境(這個很重要)
兩台CentOS6.3一台RHEL6.2
網卡資訊和DNS記錄資訊比較多,似乎有點煩,有需要的看清楚就是了。純屬個人喜好和習慣劃分的。
DNS Server IP:192.168.2.10 (VMnet2)
Squid Server IP:(雙網卡,一般代理都是代理Internet的訪客嗎,內外自己就不必麻煩了)外網(VMnet8‘NAT’模式並不要啟用VMware的DHCP分配,即查看資訊後手動對應更新為靜態IP)192.168.8.113/24,內外(VMnet2)192.168.2.20/24
內部WEB Server IP:192.168.2.30-33/24(VMnet2)對應虛擬機器主機配置的名稱查閱下面DNS配置:
[root@localhost named]# more 2.168.192.zone$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ MX 5 @ A 192.168.2.10 PTR ns.zwz.com.20 PTR mail.zwz.com. PTR pop3.zwz.com. PTR smtp.zwz.com. PTR www.zwz.com. PTR squid.zwz.com. PTR www.wl.com.30 PTR ftp.zwz.com.30 PTR www1.zwz.com.31 PTR www2.zwz.com.32 PTR www3.wl.com.33 PTR www4.wl.com.[root@localhost named]#
上面紅色字對應的DNS記錄全是指向內部WEB伺服器的相應網站。藍色字是指向Squid伺服器的,即外網訪問的網域名稱。這些是用CNAME方式做的,由於有兩個網域名稱,並都是同一個反向地區記錄,所以這裡就只more出反向解析的設定檔了。正向解析有需要的自個配置哈。
Note:事實上,www.zwz.com和www.wl.com就是申請的公網IP地址了。
從WEB伺服器的配置開始吧,下面是Apache虛擬機器主機相關網站的配置:
NameVirtualHost 192.168.2.30:80NameVirtualHost 192.168.2.31:80NameVirtualHost 192.168.2.32:80NameVirtualHost 192.168.2.33:80<VirtualHost 192.168.2.30:80> ServerAdmin admin@zwz.com DocumentRoot /var/www/html/web1 ServerName www1.zwz.com DirectoryIndex index.html index.html.var ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost 192.168.2.31:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html/web2 ServerName www2.zwz.com DirectoryIndex index.html ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost 192.168.2.32:80> ServerAdmin admin@wl.com DocumentRoot /var/www/html/wl1 ServerName www3.wl.com directoryindex index.html ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost 192.168.2.33:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html/wl2 ServerName www4.wl.com directoryindex index.html ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common</VirtualHost>[root@localhost html]#
有關Apache虛擬機器主機的配置這裡不多說鳥。
最後是squid反向 Proxy伺服器的配置。其實squid的acl還是很強大哈,本人倒也沒有深入學習過。但隱隱約約感覺到和微軟的ISA有點點相似。結合Linux下的iptables應該也可以實現一個相對簡單的區域網路內的軟體防火牆了。
1.安裝squid軟體—–本地yum吧。yum install -y squid 即可。
2.設定檔並不多,全在目錄/etc/squid/下。而且這裡我們都是只需要修改該目錄下的squid.conf設定檔即可。話又說回來,該文檔中只有squid軟體的些許參數,很多都沒在該文檔中出現。
acl all src 0.0.0.0/0.0.0.0http_access allow all ##Note:注意該句應該寫在預設的的deny all前面哈。acl了,不解析,順序讀取嘛。cache_log /usr/local/squid/var/logs/cache.logaccess_log /usr/local/squid/var/logs/access.log squidcache_dir ufs /usr/local/squid/var/cache/ 1000 16 256coredump_dir /var/spool/squid ##不用多說吧,相關日誌/緩衝等目錄的具體路勁。http_port 80 accel vhost vport ## 配置 squid 為加速模式,並且都是是用虛擬機器主機的配置。cache_mem 64 MB ##squid 用於緩衝的記憶體量,由於我是用VMware完成的,而且系統一共才給了265MB,所以也就只給了64MB了。cache_swap_low 90cache_swap_high 95cache_effective_user squid ##指定緩衝的有效使用者cache_effective_group squid ##緩衝的有效使用者組visible_hostname squid.zwz.com ## 設定 squid 的主機名稱 , 如無此項 squid 將無法啟動,可以任意取。cache_peer 192.168.2.30 parent 80 0 no-query originserver round-robin name=www1cache_peer_domain www1 www.zwz.comcache_peer 192.168.2.31 parent 80 0 no-query originserver round-robin name=www2cache_peer_domain www2 www.zwz.com##上面四句的意思是將www.zwz.com這個網站的請求通過RR輪詢方式進行請求,如果使用者請求的資料本地##Squid伺服器上有,那麼就直接返回,否則向web來源站點點請求資料,然後再返回給使用者。從這裡看出蝦米哦(Cdn吧,嘿!)cache_peer 192.168.2.32 parent 80 0 no-query originserver round-robin name=www3cache_peer_domain www3 www.wl.comcache_peer 192.168.2.33 parent 80 0 no-query originserver round-robin name=www4cache_peer_domain www4 www.wl.com##同上四句~
上面配置可以清楚有衝突的acl然後直接添加至該文檔的最後面。該設定檔安裝後就有,在/etc/squid/目錄下有幾個是配置文檔,還是幾個是相對應的存檔(帶.default的)
好啦。至此,啟動相關伺服器上的相關服務進行測試唄,我是用物理機修改hosts的方法進行測試的。添加物理機hosts記錄對應的squid伺服器的NAT網卡IP指向www.zwz.com和www.wl.com即可。hosts檔案一般在C:\Windows\System32\Drivers\etc目錄下。
Note:不要使用chrom瀏覽器進行測試。貌似該瀏覽器內建有種代理請求的東東,其實也就是本軟體範圍內的緩衝,好像還是比較頑固的,用IE或者Firefox測試都行,(我都是用隱私模式瀏覽滴)。好吧,看下:
第一次訪問www.zwz.com
重新整理訪問www.zwz.com
第一次訪問www.wl.com
重新整理訪問www.wl.com
配置完成,還有些想法哈,目前貌似這東東也不是很流行了捏。但應該也還是用人在使用的。下次傾向於Nginx哪~
本文固定連結: http://www.kutea.net/639.html