liangsheng 发表于 2015-6-8 22:46:52

Squid cache_免费 开源GNU网页代理服务器和前置Web缓存服务器

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

Squid作为网页服务器的前置cache服务器,可代理用户向web服务器请求数据并进行缓存;也可用在局域网中,使局域网用户通过代理上网。
Squid主要设计用于在Linux一类系统平台中运行。squid不仅可用在Linux系统中,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等Unix系统中。
Squid与Linux下的其它代理软件相比,譬如:Apache、Socks、TIS FWTK和delegate,Squid下载安装简单,配置灵活简单,支持缓存及多种协议。
用ipchains+Squid的解决方案,获得高性能缓存的同时,可无缝访问Internet。基本工作原理
Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。
代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如满足规则,则在缓存中查找是否存在需要的信息。
譬如:客户端B向代理服务器提出相同的请求。代理服务器也首先与访问控制列表中的访问规则相对照。如果满足规则,则将缓存中的信息传送给客户端B。

优点01、高性能代理缓存服务器对于Web用户来说,Squid是一个高性能的代理缓存服务器,可加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid会用一个单独的、非模块化的、I/O驱动的进程,来处理所有的客户端请求。
02、缓存内存,同时也缓存DNSSquid将数据元缓存在内存中,同时也缓存DNS查寻结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽。
03、可大大减少服务器等待DNS查询的时间Squid由一个主要的服务程序Squid,一个DNS查询程序dns server,几个重写请求和执行认证的程序,以及几个管理工具组成。
当Squid启动以后,它可派生出指定数目的dns server进程,而每一个dns server进程都可执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。
04、采用访问控制清单(ACL)和访问权限清单(ARL)Squid的另一个优越性在于它使用访问控制清单(ACL)和访问权限清单(ARL)。
访问控制清单和访问权限清单通过阻止特定的网络连接,来减少潜在的Internet非法连接;使用这些清单确保内部网主机,无法访问有威胁的或不适宜的站点。
05、硬件要求不高Squid对硬件的要求是内存一定要大,不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,处理器要求不高,400MH以上即可。

正向代理
01、标准代理缓冲服务器
标准代理缓冲服务用于将静态网页(例如:html文件、图片等)缓存到本地网络上的一台主机上(即:代理服务器)。
当被缓存页面被第二次访问时,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,且提高了访问速度。但是,要想实现这种方式,必须在每一内部主机的浏览器上明确指明代理服务器的IP地址和端口号。
客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如在本地缓冲区有目标文件,则直接将文件传给用户即可。如没有的话则先取回文件,先在本地保存一份缓冲,然后再将文件发给客户端浏览器。
02、透明代理缓冲服务器透明代理缓冲服务和标准代理服务器的功能,完全相同。但代理操作对客户端浏览器,是透明的(即:不需指明代理服务器IP和端口)。
透明代理服务器可阻断网络通信,并过滤出访问外部的HTTP(80端口)流量。
如客户端的请求在本地有缓冲,则将缓冲的数据直接发给用户;如在本地没有缓冲,则向远程web服务器发出请求,其余操作和标准代理服务器完全相同。
对于Linux操作系统来说,透明代理使用Iptables或Ipchains实现。因不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。
反向代理
反向代理是与标准代理、透明代理完全不同的一种代理服务。
反向代理可降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。
反向代理位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。
如互联网用户请求的页面在代理服务器上有缓冲,代理服务器则直接将缓冲内容发送给用户。如没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低向WEB服务器的请求数,从而降低了WEB服务器的负载。
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

页: [1]
查看完整版本: Squid cache_免费 开源GNU网页代理服务器和前置Web缓存服务器