一,什么是squid?以及工作原理
1,缓存代理概述
-
1、Squid是一个高性能的代理缓存服务器。Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。
-
2、Squid随之连接到远程服务器(比如:http://www.qq.com/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
-
3、Squid Cache 是 HTTP 代理服务器软件。Squid 用途广泛,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。Squid 程序在 Unix 一类系统运行。
-
4、Squid 是支持 HTTP,HTTPS,FTP 等的 Web 的缓存代理。它通过缓存和重用频繁请求的网页来减少带宽并缩短响应时间。Squid 拥有广泛的访问控制,是一个出色的服务器加速器。它运行在大多数可用的操作系统上,包括 Windows,并根据 GNU GPL 许可。
-
5、Squid 由于是开源软件,有网站修改 Squid 的源代码,编译为原生 Windows 版;用户也可在 Windows 里安装 Cygwin,然后在 Cygwin 里编译 Squid。
-
6、Squid 历史悠久,功能完善。除了 HTTP 外,对 FTP 与 HTTPS 的支持也相当好,在 3.0 测试版中也支持了 IPv6。但是 Squid 的上级代理不能使用 SOCKS 协议。
-
工作流程为:
- 客户端向代理服务器发送一个数据需求封包
- 代理服务器接受之后,对比这个封包的来源与预计要前往的目标是否合法,如果来源与目标都是合法的,那么代理服务器将开始为客户端计算机获取信息
- 代理服务器到自己的硬盘中,即所谓的Cache(缓存)中查看有没有客户端所需要的数据,如果有则直接发送至客户端
- 将数据传回给客户端使用
- 如果缓存中没有数据,或者数据过期,那么代理服务器会向internet中的目标网站请求数据
- 在数据取回之后,代理服务器会将取得的数据在缓存中保存一份
-
充分利用 Internet 连接
- 全世界数百家互联网服务提供商使用 Squid 为其用户提供最佳的 Web 访问。Squid 优化客户端和服务器之间的数据流,以提高性能并缓存常用内容以节省带宽。Squid 还可以通过各种方式将内容请求路由到服务器,以构建优化网络吞吐量的缓存服务器层次结构
-
网站内容加速和分发
- 1、互联网上成千上万的网站使用 Squid 来大幅增加内容交付。Squid 可以减少您的服务器负载并提高客户端的交付速度。Squid 还可以用于传送来自世界各地的内容 – 仅复制正在使用的内容,而不是低效地复制所有内容。最后,Squid 的高级内容路由配置允许您构建内容集群,以通过各种 Web 服务器路由和加载平衡请求。
- 2、Squid 系统目前以大约 75%的命中率运行,实际上使其后面的 Apache 服务器的容量翻了两番。当大量流量通过来自另一个站点的 Web 链接到达特定页面时,这尤其明显,因为该页面的缓存效率将接近 100%。
(1)web代理的工作机制
- 缓存网页对象,减少重复请求

(2)代理的基本类型
- 传统代理:适用于internet,需明确指定服务端
- 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认理由,防火墙策略将web访问重定向给代理服务器处理
(3)使用代理的好处
-
提高web访问速度
-
隐藏客户机的真实ip地址
-
如何理解如下图所示

二,传统代理
1,环境构建
| 主机 | ip地址 |
|---|---|
| Squid代理服务器 | 192.168.100.10 |
| web网站服务(源主机) | 192.168.100.20 |
| 客户机 | 192.168.100.30 |
2,安装依赖环境
[root@Squid ~]# yum -y install gcc gcc-c++ make
3,编译安装squid服务
[root@Squid ~]# tar zxf squid-3.5.23.tar.gz -C /opt
[root@Squid ~]# cd /opt/s

本文详细介绍了Squid作为一个高性能的HTTP、FTP、HTTPS缓存代理服务器的工作原理和配置步骤。内容包括缓存机制、传统代理和透明代理的设置,以及如何利用Squid进行网站内容加速和分发。此外,还展示了如何通过Squid的ACL功能限制访问,以及使用sarg日志分析工具进行访问报告的生成和管理。
最低0.47元/天 解锁文章
2537





