搭建Squid反向 Proxy伺服器

來源:互聯網
上載者:User

好吧,更新個文章,有段時間沒寫技術博文了。今天就說說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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.