博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Squid的ACL访问控制及反向代理
阅读量:6258 次
发布时间:2019-06-22

本文共 2472 字,大约阅读时间需要 8 分钟。

  • 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/32http_access deny zkc1                  //禁止zkc列表的IP进行访问
  • dst :目标IP、网段、主机名

    acl zkc2 dst 192.168.100.11/32http_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://  等 开头的URLhttp_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点30http_access allow work                    //允许客户机在工作时间上网
  • port : 目标端口

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

    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.confhttp_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=web1cache_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访问控制及反向代理

转载于:https://blog.51cto.com/13630803/2149229

你可能感兴趣的文章
通用数据权限管理系统设计
查看>>
High Resolution Timer in Java 5
查看>>
Visio2010绘制上下文数据流图
查看>>
SQL高级---SQL TOP 子句
查看>>
EhCache 分布式缓存/缓存集群
查看>>
[读书笔记]黑客与画家-思维、财富、创业、产品、设计、编程
查看>>
ecshop index.php源代码分析
查看>>
POJ 2057 The Lost House (经典树形dp)
查看>>
C#与Java的比较(转)
查看>>
jquery checkbox
查看>>
GNU make manual 翻译(三十二)
查看>>
内存泄漏简介
查看>>
管理内核模块
查看>>
SQL NOTE--CURSOR
查看>>
cvMatND 多维数组 设置和读取像素值
查看>>
使用XML文件方式配置log4cxx(log4cxx xml例子)
查看>>
java读写文件大全 [转]
查看>>
C语言学习必读
查看>>
分享一个String Replace方法
查看>>
温习 Linux 命令
查看>>