Web的缓存加速(Squid的安装与配置)

[Web的缓存加速(Squid的安装与配置)]

1.Squid代理服务器基础知识

默认端口3128

1.1代理形式

  • 传统代理
    (正向代理)

    适用于Internet正向代理,需在客户机指定代理服务器的地址和端口。

  • 透明代理

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

    • 边界服务器的时候使用
  • 反向代理

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

  • 默认端口3128

1.2 缓存工作机制

缓存 页对象(静态 页资源),减少重复请求

1.3 代理工作机制

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

1.4 代理服务器

1.4.1概念

代理服务器是一一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。

缓存代理对于web至关重要,尤其对于大型高负载web站点。缓存可作为性能优化的一-个重要手段,可以极大减轻后端服务器的负载。通常对于静态资源,即较少经常更新的资源,如图片,css或js等进行缓存,从而在每次刷新浏览器的时候,不用重新请求,而是从缓存里面读取,这样就可以减轻
服务器的压力。

1.4.2 作用

资源获取:代替客户端实现从原始服务器的资源获取;
加速访问:代理服务器可能离原始服务器更近,从而起到一-定的加速作用;
缓存作用:代理服务器保存从原始服务器所获取的资源,从而实现客户端快速的获取;
隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息。

1.4.3 常见缓存代理服务器

  • NGINX
    兼职,通过三方模块实现
  • Squid
    传统,稳定,能将缓存数据持久化
    适用于大文件
    支持正向反向代理
  • Varnish
    性能更好,资源开销比Squid高
    只支持反向代理,数据都在内存中
    安全性较Squid较差,但无伤大雅

1.5 ACL

访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对 络的访问,从而最大程度地保障 络安全。

ACL与防火墙关系:

同:

ACL(访问控制列表)和防火墙都执行过滤流量的功能。

异:

1.防火墙是一个独立功能(可以是专有硬件也可以是安装在通用服务器上的软件),而ACL是路由器或三层 络设备上的功能。
2.防火墙通过跟踪记录流量的状态,检查数据包,可对数据包执行至7层应用层探测;ACL对数据包逐包执行无状态检查,检查端口和协议内容(4层)。

ACL和防火墙_Mia_Zh的博客

2. 实验配置

2.1 编译安装squild

2.1.1 编译步骤

1.编译安装Squild(安装包在/opt目录下)

2.运行环境配置

3.创建Squid 服务脚本

2.1.2 实际步骤

1.编译安装Squid

2.2 配置传统代理模式

2.2.1 传统代理模式简介

代理服务器被用于缓存远程主机上的数据到本地代理服务器。当被缓存的数据被第二次访问的时候,客户端将直接从本地代理服务器获取请求数据而不再向原远程主机请求数据。但是要想实现这种方式,必须在每一个本地客户端上明确指明代理服务器的IP地址、端口
客户端访问时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程主机获取数据。如果在本地缓存有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓存,然后将文件发给本地客户端。

2.2.2 环境准备与服务器配置

服务器类型 IP地址
WEB服务器 192.168.80.25
Squid缓存代理服务器 192.168.80.30
客户端 192.168.80.45

Squid缓存代理服务器配置

如果未关闭防火墙则需要配置下面两条规则。

2.2.3 操作截图

Squid配置

在配置火狐浏览器的代理浏览。

2.3 透明代理

2.3.1 透明代理简介

透明代理提供的服务功能与传统代理是一致的,但是其“透明”的实现依赖于默认路由和 防火墙的重定向策略,因此更适用于为局域 主机服务,而不适合为 Internet 中的客户机提 供服务。

在 Linux 关上,构建 Squid 为客户机访问 Internet 提供代理服务。
在所有的局域 客户机上,只需正确设置 IP 地址、默认 关和 DNS,不需要手动指定 代理服务器的地址、端口等信息

2.3.2 环境准备与服务器配置

服务器类型 IP地址
squid服务器 卡ens33:192.168.80.20 卡ens37:12.0.0.1
web服务器 192.168.80.25
客户端 12.0.0.12

squid服务器配置

2.3.3 操作截图

2.4 ACL控制

2.4.1 squid的ACL控制简介

Squid 提供了强大的代理控制机制,通过合理设置 ACL(Access Control List,访问控 制列表)并进行限制,可以针对源地址、目标地址、访问的 URL 路径、访问的时间等各种 条件进行过滤。

在配置文件 squid.conf 中,ACL 访问控制通过以下两个步骤来实现:

1.使用 acl 配置项定义需要控制的条件;
2.通过 http_access 配置项对已定义的列表做“允许”或“拒 绝”访问的控制。

2.4.2 环境准备与服务器配置

服务器类型 IP地址
squid服务器 卡ens33:192.168.80.20
web服务器1 192.168.80.25
web服务器2 192.168.80.30
客户端 192.168.80.45

squid服务器配置

2.4.3 操作截图

正常访问

2.5 配置squid日志分析软件SARG

2.5.1 SARG简介

SARG 全称是 Squid Analysis Report Generator,是一款 Squid 日志分析工具,采用HTML 格式,详细列出每位用户访问 Internet 的站点信息、时间占用信息、排名、连接次数、 访问量等。

2.5.2 SARG安装配置

需要实现准备sarg-2.3.7.tar.gz包。

创建脚本,自动生成日志

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月10日
下一篇 2022年5月11日

相关推荐