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-4.1 ACL访问控制日志分析和反向代理

Squid缓存服务器之ACL访问控制与反向代理

Squid反向代理日志分析ACL访问控制

缓存加速------Squid代理服务器应用(传统代理,透明代理,反向代理,ACL访问控制,日志分析)

Squid代理服务器——ACL访问控制,sarg日志,反向代理

squid缓存服务器 ACL访问控制 传统代理 透明代理 squid日志分析 反向代理