Squid的ACL访问控制及反向代理

  • Squid提供了强大的代理控制机制,经过合理的设置ACL,并进行限制,能够针对源地址、目标地址、访问的URL路径、访问的时间等条件进行过滤。
  • 在配置文章squid.conf中,ACL访问控制经过如下两个步骤来实现:
    1:使用acl配置项定义须要控制的条件
    2:经过http_access 配置对已定义的列表作出"容许" 或者 "拒绝" 访问的控制web

    定义控制列表:    acl      列表名      列表类型      列表内容
    容许访问权限:    http_access  allow   列表名
    拒绝访问权限:    http_access  deny   列表名
  • 列表类型
  • src :源IP地址、网段、IP范围vim

    acl zkc1 src 192.168.100.50/32
    http_access deny zkc1                  //禁止zkc列表的IP进行访问
  • dst :目标IP、网段、主机名windows

    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$            //以mp三、mp四、rmvb结尾的URL路径
    http_access deny PURL                //禁止客户机下载mp三、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 : 目标端口dom

    acl ABC port 443                 //目标端口443
    http_access deny ABC     //禁止访问443端口
  • dstdomain : 目标域,匹配域内的全部站点ide

    acl CBA  dstdomain .qq.com        //以.qq.com结尾的网站
    http_access deny CBA     //禁止访问 .qq.com 结尾的网站
  • 同类对象较多时:
  • 当须要限制的同一类对象较多时,能够使用独立的文件夹来存放,在acl配置行指出对应文件位置。测试

    # mkdir /etc/squid 
    # vim  /etc/squid/dest.list
         192.168.100.11
         192.168.100.12
         192.168.100.13   #目标web
    # vim /etc/squid.conf
         acl destionhost dst "/etc/squid/dest.list"
         http_access deny destionhost   #拒绝列表(注意置顶)

Squid的ACL访问控制及反向代理Squid的ACL访问控制及反向代理Squid的ACL访问控制及反向代理



  • 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  //重启服务

    Squid的ACL访问控制及反向代理

  • windows7上测试
  • 修改代理服务器端口 80

Squid的ACL访问控制及反向代理Squid的ACL访问控制及反向代理Squid的ACL访问控制及反向代理

相关文章
相关标签/搜索