成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號

Squid代理服務(wù)器高級應(yīng)用兩例
2011-02-21   51CTO

Squid是一個緩存Internet數(shù)據(jù)的一個軟件,其接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。當(dāng)一個用戶想要下載一個主頁時,可以向Squid發(fā)出一個申請,要Squid代替其進(jìn)行下載,然后Squid連接所申請網(wǎng)站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當(dāng)別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當(dāng)快。目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS協(xié)議,暫不能代理POP3、NNTP等協(xié)議。并且,Squid可以自動地進(jìn)行處理,可以根據(jù)自己的需要設(shè)置Squid,使之過濾掉不想要的東西。Squid可以工作在很多的操作系統(tǒng)中,如AIX、Digital、UNIX、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。

Squid安裝的例子很多了,本文不講述,本文著重介紹2個Linux下Squid代理服務(wù)高級應(yīng)用的例子。

1、配置帶認(rèn)證的代理服務(wù)

默認(rèn)時,Squid本身不帶任何認(rèn)證程序,但是可以通過外部認(rèn)證程序來實(shí)現(xiàn)用戶認(rèn)證。一般有以下的認(rèn)證程序:LDAP認(rèn)證、SMB認(rèn)證、基于mysql的認(rèn)證、基于sock5的密碼認(rèn)證和基于Radius的認(rèn)證。下面介紹常用的ncsa實(shí)現(xiàn)的認(rèn)證,ncsa是Squid源代碼包自帶的認(rèn)證程序之一,從squid 2.5開始都包含了ncsa的模塊。在Red Hat Enterprise Linux 5的/usr/lib/squid目錄下可以找到ncsa_auth文件。 

要使用該認(rèn)證服務(wù),首先需要創(chuàng)建認(rèn)證用戶和密碼:

#htpasswd -c /usr/local/squid/etc/ps_file guest 

如果是以后添加用戶的話就把-c的參數(shù)去掉。

然后,再更改/etc/squid/squid.conf主配置文件,添加如下: 

//配置認(rèn)證文件和用戶文件
auth_param basic program /usr/lib/squid/ncsa_auth /usr/local/squid/etc/ ps_file 
//指定認(rèn)證程序的進(jìn)程數(shù)
auth_param basic children 5 
//代理服務(wù)器的名稱
auth_param basic realm Squid proxy-caching web server 
//認(rèn)證有效時間為2小時
auth_param basic credentialsttl 2 hours 
//只有認(rèn)證用戶才能訪問
acl normal proxy_auth REQUIRED 
http_Access allow normal 

最后,重啟squid服務(wù)即可。在瀏覽器里配上這個代理,打開任意網(wǎng)站,如果彈出了輸入用戶名和密碼的對話框,就證明配置成功了。

2、配置反向代理服務(wù)器

反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。

通常的代理服務(wù)器,只用于代理內(nèi)部網(wǎng)絡(luò)對Internet的連接請求,客戶機(jī)必須指定代理服務(wù)器,并將本來要直接發(fā)送到Web服務(wù)器上的http請求發(fā)送到代理服務(wù)器中。由于外部網(wǎng)絡(luò)上的主機(jī)并不會配置并使用這個代理服務(wù)器,普通代理服務(wù)器也被設(shè)計(jì)為在Internet上搜尋多個不確定的服務(wù)器,而不是針對Internet上多個客戶機(jī)的請求訪問某一個固定的服務(wù)器,因此普通的Web代理服務(wù)器不支持外部對內(nèi)部網(wǎng)絡(luò)的訪問請求。當(dāng)一個代理服務(wù)器能夠代理外部網(wǎng)絡(luò)上的主機(jī),訪問內(nèi)部網(wǎng)絡(luò)時,這種代理服務(wù)的方式稱為反向代理服務(wù)。此時代理服務(wù)器對外就表現(xiàn)為一個Web服務(wù)器,外部網(wǎng)絡(luò)就可以簡單把它當(dāng)作一個標(biāo)準(zhǔn)的Web服務(wù)器而不需要特定的配置。不同之處在于,這個服務(wù)器沒有保存任何網(wǎng)頁的真實(shí)數(shù)據(jù),所有的靜態(tài)網(wǎng)頁或者CGI程序,都保存在內(nèi)部的Web服務(wù)器上。因此對反向代理服務(wù)器的攻擊并不會使得網(wǎng)頁信息遭到破壞,這樣就增強(qiáng)了Web服務(wù)器的安全性。

反向代理方式和包過濾方式或普通代理方式并無沖突,因此可以在防火墻設(shè)備中同時使用這兩種方式,其中反向代理用于外部網(wǎng)絡(luò)訪問內(nèi)部網(wǎng)絡(luò)時使用,正向代理或包過濾方式用于拒絕其他外部訪問方式并提供內(nèi)部網(wǎng)絡(luò)對外部網(wǎng)絡(luò)的訪問能力。因此可以結(jié)合這些方式提供最佳的安全訪問方式。

目前有許多反向代理軟件,比較有名的有 Nginx 和 Squid 。其他還包括Socks、Apache、Jigsaw、Delegate等。Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點(diǎn)開發(fā)的,是一個高性能的 HTTP 和反向代理服務(wù)器,也是一個 IMAP/POP3/SMTP 代理服務(wù)器。而Squid也可以用來構(gòu)建反向代理服務(wù)器。

反向代理服務(wù)器工作原理示意圖
圖1  反向代理服務(wù)器工作原理示意圖

Squid作為反向代理服務(wù)器使用時,其工作原理為:客戶端請求訪問 WEB 服務(wù)時,DNS 將訪問的域名解析為 Squid 反向代理服務(wù)器的 IP 地址,這樣客戶端的 URL 請求將被發(fā)送到反向代理服務(wù)器。如果 Squid 反向代理服務(wù)器中緩存了該請求的資源,則將該請求的資源直接返回給客戶端,否則反向代理服務(wù)器將向后臺的 WEB 服務(wù)器請求資源,然后將請求的應(yīng)答返回給客戶端,同時也將該應(yīng)答緩存在本地,供下一個請求者使用。

Squid反向代理一般只緩存可緩沖的數(shù)據(jù)(比如 html 網(wǎng)頁和圖片等),而一些 CGI 腳本程序或者 ASP、JSP 之類的動態(tài)程序默認(rèn)不緩存。它根據(jù)從 WEB 服務(wù)器返回的 HTTP 頭標(biāo)記來緩沖靜態(tài)頁面。有四個最重要HTTP頭標(biāo)記:

  1. Last-Modified:告訴反向代理頁面什么時間被修改 
  2. Expires:告訴反向代理頁面什么時間應(yīng)該從緩沖區(qū)中刪除 
  3. Cache-Control:告訴反向代理頁面是否應(yīng)該被緩沖 
  4. Pragma:用來包含實(shí)現(xiàn)特定的指令,最常用的是Pragma:no-cache

要配置反向代理服務(wù)器,需要在squid的主配置文件里面添加如下內(nèi)容:

http_port 80 accel vhost vport
cache_peer 192.172.1.133 parent 80 0 no-query originserver 
cache_peer_domain www.test.com 192.172.1.133
acl sites dstdomain www.test.com
http_access allow sites
http_access deny all
cache_dir ufs /var/spool/squid3 100 16 256
cache_mgr yourmail@somesite.com
cache_mem 64 MB
maximum_object_size_in_memory 1028 KB
access_log /var/log/squid3/access.log squid

上述配置的詳細(xì)解釋如下:

http_port 80 accel vhost vpor:指定Squid所服務(wù)的端口為80,vhost和vport指的是所采用的虛擬主機(jī)的方式:基于IP地址和基于端口的,詳細(xì)請參見本書對Apache Web服務(wù)器的介紹;

cache_peer 192.172.1.133 parent 80 0 no-query originserver:指定真實(shí)Web Server的IP地址;

cache_peer_domain www.test.com 192.172.1.133:告訴反向代理服務(wù)器,當(dāng)客戶端有對www.test.com的訪問請求時,需要從真實(shí)Web Server 192.172.1.133上取得數(shù)據(jù);

acl sites dstdomain www.test.com:定義客戶端能夠通過反向代理服務(wù)器訪問的主機(jī);

http_access allow sites、http_access deny all:限制客戶端通過反向代理服務(wù)器能夠訪問的范圍;

cache_dir ufs /var/spool/squid3 100 16 256、cache_mgr yourmail@somesite.com、cache_mem 64 MB、maximum_object_size_in_memory 1028 KB、access_log /var/log/squid3/access.log squid:代理服務(wù)器的常規(guī)配置。

作者介紹:李洋,博士畢業(yè)于中科院計(jì)算所。10多年來一直從事計(jì)算機(jī)網(wǎng)絡(luò)信息安全研發(fā)工作,曾主持和參與多項(xiàng)國家重點(diǎn)項(xiàng)目以及信息安全系統(tǒng)和企業(yè)信息安全系統(tǒng)的研發(fā)工作。具有Linux系統(tǒng)應(yīng)用、管理、安全及內(nèi)核的研發(fā)經(jīng)驗(yàn),擅長網(wǎng)絡(luò)安全技術(shù)、協(xié)議分析、Linux系統(tǒng)安全技術(shù)、Linux系統(tǒng)及網(wǎng)絡(luò)管理、Linux內(nèi)核開發(fā)等。

原文鏈接:http://os.51cto.com/art/201102/245290.htm

熱詞搜索:

上一篇:發(fā)展勢頭強(qiáng)勁 刀片服務(wù)器握緊節(jié)能砝碼
下一篇:Debian下通過Bonding實(shí)現(xiàn)雙網(wǎng)卡單IP

分享到: 收藏
主站蜘蛛池模板: 在线播放你懂| 亚洲电影在线观看| 秀人网尤妮丝深夜福利视频| 八年级上册三峡| 翁姆| 天才不能承受之重| 《摧花狂魔》电影| 村上信五| 陈建斌电影| 日本女人xxx| 洪熙官演员表| 荒笛子简谱| 色在线视频观看| 乳糖不耐受奶粉推荐| 范冰冰激情片段| 香帅传奇郑少秋版国语全集在线观看高清 | free loop中文版歌词| 啊好舒服快点| 难兄难弟 电视剧| 蜘蛛女侠| 听鬼故事长篇超吓人2000字| 道东道西| 陈雨田| 扫黑演员表 名单| 周杰伦《退后》歌词| 羞羞的铁拳演员表| 美足av电影欧美日韩| 电影壮志凌云女版满天星法版在线看 | 宇宙护卫队电影| la ciociara| 飞天电影| 柏欣彤12点以后跳的广场舞| 直播挤奶| 蜜桃成熟时免费视频| 故乡别来无恙演员表名单| 舞法天女朵法拉演员表| 牛牛电影| 法政先锋2| 左航个人资料| 处女巫| 《杨贵妃淫史》三级|