新闻中心
什么是Squid代理服务器?Squid代理服务器搭建
2023-04-21
阅读()
来源:互联数据

什么是Squid代理服务器?squid是一款代理的软件,通过缓存的方式为用户提供Web访问加速对用户的Web访问进行过滤控制,可以很好地实现HTTP和FTP,以及DNS查询、SSL等应用的缓存代理,功能十分强大,Squid支持FTP、gopher、HTTPS和HTTP协议。


和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。Squid主要提供缓存加速、应用层过滤控制的功能。


Squid代理服务器搭建:http://www.hkt4.com/cloud/hk.html


详细了解Squid代理服务器:


一、 Squid代理的工作机制


代替客户机向网站发送请求数据,从而可以隐藏真正用户的IP。将获得的网页数据(静态Web元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应。


Squid是一个缓存Internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据


也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,减少了向Internet提交重复的Web请求的过程,提高了用户下载网页的速度,隐藏了客户机的真实IP,如下图所示:

Squid代理服务器搭建


二、Squid代理服务器作用


1、资源获取:代替客户端实现从原始服务器的资源获取;


2、加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用;


3、缓存作用:代理服务器保存从原始服务器所获取的资源,从而实现客户端快速的获取;


4、隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息。


三、Squid代理服务器的类型


1)传统代理:适用于Internet正向代理,需要在客户机指定代理服务器的地址和端口


2)透明代理:客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理


3)反向代理:如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该资源缓存在本地,为下一个请求者直接提供资源使用

Squid代理服务器


四、其他的代理、缓存服务器软件


除了squid之外,代理软件还有nginx、Varnish也能充当代理服务器。


nginx:nginx的四层/七层代理,可以实现反向代理Web集群,但是nginx只能缓存静态文件,在业务中,nginx只做反向代理+动静分离,而不会选择它去做缓存服务器,因为太单一(只能缓存静态文件),而且nginx是依赖第三方模块来完成缓存业务的,并不是专业的缓存服务。


Varnish:它是一款高性能的、开源的反向代理服务器和缓存服务器,它和squid相比具有更好的稳定性、更快的访问速度、更多的并发连接数,可以通过端口来管理缓存,这是squid做不到的。但是,在高并发情况下,Varnish会消耗更多的CPU、I/O和内存资源;而且当Varnish进程一旦挂起、崩溃或者重启,缓存的数据会从内存中释放,此时所有的请求都会转发到Web服务器上,给后端服务器造成很大的压力,而且它只支持反向代理。


如果因为工作的需要,我们优选选择squid或者Varnish,然后根据具体的业务进行评估,筛选出合适的软件来构建代理和缓存服务器。


总结,squid的三种代理模式:正向、反向、透明,了解完squid、varnish、nginx三种软件的区别以及各自的优缺点,防火墙和selinux要记得关,牢记缓存服务器的工作原理:缓存服务器有,就直接从缓存服务器拿,而不需要再去访问Web服务器;没有再去找Web服务器,得到数据后,缓存服务器会将该数据存到本地,只要不宕机,以后的每次访问,都会直接从缓存服务器读取,降低了web服务器的压力。

相关阅读