自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Squid代理服務器高級應用兩例

原創(chuàng)
系統(tǒng) Linux
本文著重介紹Squid代理服務的兩個高級應用例子:帶認證的代理服務和反向代理服務器配置。Squid本身不帶任何認證程序,但是可以通過外部認證程序來實現(xiàn)用戶認證。本文介紹常用的ncsa實現(xiàn)的認證,ncsa是Squid源代碼包自帶的認證程序之一,從squid 2.5開始都包含了ncsa的模塊。

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

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

1、配置帶認證的代理服務

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

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

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

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

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

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

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

2、配置反向代理服務器

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

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

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

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

反向代理服務器工作原理示意圖
圖1  反向代理服務器工作原理示意圖

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

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

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

要配置反向代理服務器,需要在squid的主配置文件里面添加如下內容:

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

上述配置的詳細解釋如下:

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

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

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

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:代理服務器的常規(guī)配置。

【51CTO.com獨家特稿,轉載請注明原文作者和出處?!?/p>

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

【編輯推薦】

  1. 11月第1周系統(tǒng)升級錄:自由的Web緩存服務器Squid
  2. Squid服務器,你了解多少?
  3. 巧用Squid的ACL和訪問列表實現(xiàn)高效訪問控制

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2012-09-18 09:55:28

2020-08-02 15:00:40

SquidSSH系統(tǒng)運維

2009-12-03 18:07:48

Squid代理服務器

2019-06-18 08:27:37

Squid代理服務器IP代理池

2011-04-20 16:59:31

2010-11-15 14:46:04

linuxsquidsquidGuard

2024-11-21 09:18:08

2009-02-12 15:51:00

squid代理服務器web服務器

2009-02-10 15:42:00

代理服務器代理服務器設置

2009-02-06 11:12:00

代理服務器代理服務器應用

2015-07-17 10:45:42

Squid服務器訪問控制系統(tǒng)

2024-02-20 14:53:01

2009-08-18 11:04:50

代理服務器設置代理服務器地址

2018-11-05 09:34:43

2010-01-22 14:51:31

VB.NET修改代理服

2009-11-24 19:36:34

代理服務器

2019-04-08 08:39:47

Nginx代理服務器

2011-08-17 11:26:10

2009-02-12 15:43:00

CCProxy代理服務器

2010-09-17 10:07:17

SIP協(xié)議SIP代理服務器
點贊
收藏

51CTO技術棧公眾號