缓存网页对象,减少重复请求
squid代理服务器,主要提供缓存加速,应用层过滤控制的功能
代理工作机制
1.代替客户机向网站请求数据,从而可以隐藏用户的真实ip地址
2.将获得的网页数据(静态web元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速相应。
代理服务器概念作用
代理服务器是一个位于客户端和原始资源服务器之间的服务器,为了从原始服务器获取内容,客户端向代理服务器发送一个请求并指定目标原始服务武器,然后代理服务器像原始服务器专交请求并将获得的内容返回给客户端
缓存代理对于heb至关重要,尤其对于大型高负载Meb站点。缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载。通常对于静态资源,即较少经常更新的资源,如图片,Css或15等进行缓存,从而在每次刷新浏览器的时候,不用重新请求,而是从缓存里面说取,这样就可以减轻服务器的压力。
其主要作用有:
资源获取: 代替客户端实现从原始服务器的资源获取:加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用;
缓存作用:代理服务器保存从原始服务器所获取的资源,从而实现客户端快速的获取;
隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息。
主要作用:资源获取:
加速访问
缓存作用:
隐藏真是地址:代理服务器替带客户端去获取原始服务器资源,从而隐藏客户端真是信息
常用缓存代理
cdn:内容分发网络,在边缘网络架设一及多级架网络。
squid:nginx:varnish:
squid代理类型
传统代理:
透明代理:客户机不需要指定代理服务器请求的地址和端口,而是通过默认路由器防火墙策略将访问重定向给代理服务器
反向代理:如果squid反向代理服务器中缓存了该请求的资源,则将该请求的资源返回给客户端,否则反向代理服务器将向后台的web服务武器
squid安装
usradd -M -s /sbin/nologin squid
chown -R squid:squid squid/
vim /etc/squid.conf
http_access allow all
cache_effective_user squid
cache_effective_group squid
squid -k parse检查语法是否正确
配置服务
vim /etc/init.d/squid
创建脚本
chmod +x /etc/init.d/squid
#检查配置文件语法是否正确
squid -k parse
#启动 Squid,第一次启动 Squid 服务时,会自动初始化缓存目录
squid -z #-z 选项用来初始化缓存目录
squid #启动 squid 服务
netstat -anpt | grep "squid" #查看是否启动成功
服务用squid脚本
传统代理服务器
vim /etc/squid.conf
http_access allow all
http_access deny all
http_port 3128
cache_effective_user squid
cache_effective_group squid
--63行--插入
cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,一般设为物理内存的1/3
cache_swap_high 95
maximum_object_size 512000kb 设置squid磁盘缓存最大文件,以kb为单位,超过的文件不保存到硬盘
,而是直接转发给用户
maximum_object_size_inmemory 512kb
设置squid内存缓存最大文件,超过的文件不保存到内存
service squid restart
systemctl restart squid
windows设置
windows火狐浏览器设置
日志文件
自定义
vim/usr/local/squid/var/logs/access.log
miss没有命中到缓存
tcp_mem_hit表示命中缓存,本地没有缓存
TCP_refresh_unmodified内容刷新没有更改过
火狐浏览器代理配置请求 3128
构建透明模式代理服务器
squid服务器做网关服务器时
squid服务器:双网卡,内网ens33:ens33:192.168.232.80.10 外网12.0.0.10
网关ip路由转发功能SNAT地址转换
squid
vim /etc/sysctl.conf
sysctl -p
net.ipv4.ip_forward = 1
清除原有规则
iptables -F && iptables -t nat -F
iptables -nL
添加规则
监听入站网卡和端口
设置为特殊模式
acl访问控制
步骤:(1)使用 acl 配置项定义需要控制的条件;
(2)通过 http access 配置项对已定义的列表做"允许"或"拒绝”访问的控制
控制类型
src 源地址
dst 目的地址
port 目的端口
dstdomain 目的域名
maxconn 最大连接数
time 时段
url_regex url路径
urlpath_regex url路径正则
列如:acl myhosts src 12.0.0.0/24
http_access denny myhosts
修改配置文件
squid反向代理
如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端:否则反向代理服务器将向后台的 meb服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
cache_peer 指向服务器父节点