Squid的ACL访问控制及反向代理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Squid的ACL访问控制及反向代理相关的知识,希望对你有一定的参考价值。
- Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址、目标地址、访问的URL路径、访问的时间等条件进行过滤。
-
在配置文章squid.conf中,ACL访问控制通过以下两个步骤来实现:
1:使用acl配置项定义需要控制的条件
2:通过http_access 配置对已定义的列表做出"允许" 或者 "拒绝" 访问的控制定义控制列表: acl 列表名 列表类型 列表内容 允许访问权限: http_access allow 列表名 拒绝访问权限: http_access deny 列表名
- 列表类型
-
src :源IP地址、网段、IP范围
acl zkc1 src 192.168.100.50/32 http_access deny zkc1 //禁止zkc列表的IP进行访问
-
dst :目标IP、网段、主机名
acl zkc2 dst 192.168.100.11/32 http_access deny zkc2 //禁止访问zkc2列表的IP
-
maxconn :每个客户机的并发连接数
acl MC20 maxconn 20 // 最大并发连接 http_access deny MC20 //客户机的并发连接超过20将被阻止
-
url_regex :目标资源的URL地址 -i:表示忽略大小写
acl BURL url_regex -i ^rtsp:// ^emule:// //以rtsp:// 等 开头的URL http_access deny BURL //拒绝列表内URL
-
urlpath_regex :目标资源的整个URL路径 -i:表示忽略大小写
acl PURL urlpath_regex -i .mp3$ .mp4$ .rmvb$ //以mp3、mp4、rmvb结尾的URL路径 http_access deny PURL //禁止客户机下载mp3、mp4等文件
- time : 使用代理服务的时间段
- 字母表示一星期几的英文缩写
-
M—Monday 、T—Tuseday、W—Wednesday、H—Thursday、F—Friday、A—Saturday、S—Sunday
acl work time MTWHF 08:30-17:30 //时间为周一至周五 8点30到17点30 http_access allow work //允许客户机在工作时间上网
-
port : 目标端口
acl ABC port 443 //目标端口443 http_access deny ABC //禁止访问443端口
-
dstdomain : 目标域,匹配域内的所有站点
acl CBA dstdomain .qq.com //以.qq.com结尾的网站 http_access deny CBA //禁止访问 .qq.com 结尾的网站
?
?
- Squid方向代理
- Squid 反向代理常用于服务器端,客户端访问 Squid 代理服务器的 80 端口,Squid 代理服务器根据配置去请求后端的 web 服务器,然后将请求到的信息保存在本地并回传给客户端,当又有客户端请求相同资源时,Squid 代理服务器直接将缓存中的信息回传给客户端。
- 代理服务器:IP192.168.100.10
- web1服务器:IP 192.168.100.11
- web2服务器:IP 192.168.100.12
-
客户机上需要做域名解析代理服务器的IP 为www.yun.com
# vim /etc/squid.conf http_port 192.168.100.10:80 accel vhost vport (// 本地地址 accel:加速代理 虚拟主机 虚拟端口) cache_peer 192.168.100.11 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1 cache_peer 192.168.100.12 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2 (//指定负向服务器 ICP端口不开启设为0 不进行查询 指向真实服务器 轮询 最大连接30 权重1 名字) cache_peer_domain web1 web2 www.yun.com (//指定web1,web2的域名为www.yun.com ) # service squid restart //重启服务
- windows7上测试
- 修改代理服务器端口 80
以上是关于Squid的ACL访问控制及反向代理的主要内容,如果未能解决你的问题,请参考以下文章
缓存加速------Squid代理服务器应用(传统代理,透明代理,反向代理,ACL访问控制,日志分析)