Squid简介

Squid cache (简称为Squid) 是一个流行的自由软件 (GNU通用公共许可证) 的代理服务器Web缓存服务器
Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一
组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过
代理上网。
Squid主要设计用于在Unix一类系统运行。
Squid的发展历史相当悠久,功能也相当完善。除了HTTP外,对于FTP与HTTPS的支撑也相当好,在3.0测
试版中也支持了IPv6。

 

Squid原理

 

Squid是一个缓存Internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,
当一个用户要下载一个主页时,它向Squid发出一个申请,要Squid替它下载。Squid然后连接所申请网站并
请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备
份立即传给用户,使用户觉得速度相当快。目前,Squid可以代理HTTP、FTP等协议。
Squid能够缓存任何数据吗?不是的。像缓存信用卡账号、可以远方执行的scripts、经常变换的主页等是不
合适的也是不安全的。Squid可以自动的进行处理,也可以根据设置过滤掉你不想要的东西。
Squid对硬件的要求是内存一定要大,不应该小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬
盘,处理器要求不高,400MHZ以上即可。

 

Squid优点

 

快速响应,减少网络阻塞。Squid将远程Internet对象保存为本地拷贝。当本地用户再次访问这些对象时,Squid
可以直接快速地提供这些对象的访问,而不必要再次占用带宽访问远程服务器上的对象。
增强访问控制,提高安全性。可以针对特定的网站、用户、网络、数据类型实施访问控制。
Squid可以工作在普通代理模式透明代理模式反向代理模式

 

普通代理

 

代理服务器可以代表其它计算机传递数据包或信息,这些数据包和信息包括网页、电子邮件、多媒体和其它
网络应用程序等。通过它的文件缓存和访问控制等功能,它可以实现快速浏览和对用户访问的有效管理
Web代理服务器是介于浏览器和Web服务器之间的一台服务器,当你通过代理服务器上网浏览时,浏览器不
是直接到Web服务器去取回网页而是向代理服务器发出请求,由代理服务器来取回浏览器所需要的信息并传
送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好像一个大的Cache,它有很大的存储空
间,它不断将新取得的数据存储到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存
在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这
样就能显著提高浏览速度和效率。

主要功能:

1. 连接Internet与Intranet,充当firewall。因为所有内部网络的用户通过代理服务器访问外界时,只映射为
一个IP地址,所以外界不能直接访问到内部网。同时可以设置IP地址过滤,限制内部网络对外部网络的访问
权限。另外,两个没有互联的内部网,也可以通过第三方的代理服务器进行互联来交换信息。

2. 共享因特网连接,节省IP开销。所有用户对外只占用一个IP,所以不必租用过多的IP地址,降低网络的维
护成本。这样,局域网内没有与外网相连接的众多机器就可以通过内网的一台代理服务器连接到外网,大大
减少费用。当然也有不利的一面,如许多网络黑客通过这种方法隐藏自己的真实IP地址,而逃过监视。

3. 提高访问速度,节约通信带宽。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个G或者更
大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其它用户再访问相同的信息时,则直接由
缓冲区中取出信息,传给用户,从而达到提高访问速度的目的。

 

透明代理

 

让我们现在来想象一个联机状态,就是你有一整组内部网络,而这个内部网络都是透过 NAT 主机联机出去的。
那么我们谈过,就是在一个内部网很大的情况下,使用 Proxy 是一个很不错的选择,因为至少他可以减轻带宽
负荷!不过,遗憾的是,架设 Proxy 的时候,也要使用者在浏览器上面设置代理!那么有没有办法在“使用者
不需要在浏览器上面进行任何配置,就可以实现以Proxy 帮助使用者联接Internet?那就是Transparent Proxy 。
其原理是:当使用者经过 NAT 服务器来联机进入Internet 时,假如使用的 Internet 协议为80 (也就是WWW) ,
那么就将这个要求交给 Proxy 来工作,以达到代理服务器的功能。也就是说,当使用者是经过NAT 主机联机出
去时,只要让 NAT 主机发现『咦!你是要去读取 www 的资料对吧,那么这个动作由Proxy 主机帮你搞定!』
如此一来,使用者根本就不需要在浏览器上面配置Proxy 的相关资料,因为这个动作是由NAT 主机自己决定的,
所以只要在NAT 主机上面配置妥当即可,使用者不必配置任何资料呢

 

反向代理

 

代理服务器是使用非常普遍的一种将局域网主机连入互联网的一种方式,使用代理上网可以节约紧缺的IP地址
资源,而且可以阻断外部主机对内部主机的访问,使内部网络主机免受外部网络主机的攻击。但是,如果想让
互联网上的主机访问内部网络的主机资源(如Web站点),又想使内部网络主机免受外部网络主机攻击,一般
的代理服务是不能实现的,需要使用反向代理来实现。
什么是反向代理呢?其实,反向代理也就是通常所说的Web服务器加速,它是一种通过在繁忙的Web服务器和
Internet之间增加一个高速的Web缓冲服务器来降低实际的Web服务器的负载。
Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,
而针对一台或多台特定的Web服务器。实施反向代理只要将Reverse Proxy Cache设备放置在一台或者多台Web
服务器前端即可。当互联网用户访问某个Web服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy
Cache的IP地址,而非原始的Web服务器的IP地址,这时Reverse Proxy Cache设备充当Web服务器,浏览器可
以与它连接,无需再直接与Web服务器相连。因此,大量Web服务器工作量被卸载到反向代理服务器上,不但
能够防止外部主机和Web服务器直接通信带来的安全隐患,而且能够很大程度上减轻Web服务器的负担,提高
访问速度。

 

 

posted on 2012-02-27 11:41  张大大123  阅读(281)  评论(0编辑  收藏  举报

导航