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訪問控制及反向代理

相關文章
相關標籤/搜索