一、Squid介绍
Squid主要提供缓存加速、应用层过滤控制的功能
1、代理的工作机制
代替客户机向网站请求数据,从而可以隐藏用户的真是IP地址
将获得的网页数据(静态web元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应
2、代理服务器的概念
代理服务器时一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。
缓存代理对于Web至关重要,尤其对于大型高负载Web站点。缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载。通常对于静态资源,即较少经常更新的资源,如图片,css或js等进行缓存,从而在每次刷新浏览器的时候,不用重新请求,而是从缓存里面读取,这样就可以减轻服务器的压力。
3、代理服务器的作用
资源获取:代替客户端实现从原始服务器的资源获取
加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用
缓存作用:代理服务器保存从原始服务器所获得的资源,从而实现客户端快速的获取
隐藏真实地址:代理服务器代替客户端去获取原始服务器的资源,从而隐藏客户端真实信息
常用的代理服务器:Squid、Nginx、Varnish、CDN
4、Squid代理的类型
传统代理:适用于Internet 正向代理,需在客户机指定代理服务器的地址和端口。
透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理。
反向代理:如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
二、Squid搭建
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
安装squid
yum install squid -y
查看squid 的conf文件
vim /etc/squid/squid.conf
服务端安装Squid服务程序:yum install -y squid。
Squid服务程序的配置文件:/etc/squid/squid.conf。
常用的Squid服务程序配置参数以及作用
http_port 3128 | 监听的端口号 |
---|---|
cache_mem 64M | 内存缓冲区的大小 |
cache_dir ufs /var/spool/squid 2000 16 256 | 硬盘缓冲区的大小 |
cache_effective_user squid | 设置缓存的有效用户 |
cache_effective_group squid | 设置缓存的有效用户组 |
dns_nameservers IP地址 | 一般不设置,而是用服务器默认的DNS地址 |
cache_access_log /var/log/squid/access.log | 访问日志文件的保存路径 |
cache_log /var/log/squid/cache.log | 缓存日志文件的保存路径 |
visible_hostname linuxprobe.com | 设置Squid服务器的名称 |
CDN服务器(操作系统为CentOS-Stream 9)
关闭防火墙以及防火墙自启动,也可写入具体的安全策略至防火墙
systemctl disable firewalld systemctl stop firewalld
安装nginx和squid
yum install nginx -y
yum install squid -y
输入命令“vim /etc/squid/squid.conf”,修改该配置文件
写如下代码:
cache_peer 1.1.1.1 parent 80 0 originserver
cache_peer_access 1.1.1.1 allow all
不要忘记保存
输入命令“vim /etc/nginx/nginx.conf”,修改该配置文件