访问控制设定:

匹配后可进行那些操作:

  Use _backend :   当符合条件时使用特定的backend后端,

    Use_backend  <backend> [{if | unless}  <condition>]

  Block             阻塞

    Block {if | unless} <condition>

Acl  invalid_src  src  172.16.200.2   定义acl匹配
Block if invalid_src 若来自这个地址进行阻塞
Errorfile /etc/fstab 定义错误页

例如1

  http-request :         http请求

    http-request {allow  | deny} [{ if | unless}  <condition>]

  tcp-request:

    tcp-request  connection {allow | deny} [{if | unless}  <condition>]

acl:这里他的匹配条件有多种,可以使原地址,也可以是目标地址,目标端口,请求的资源类型,使用的方法等一切

格式:

  Acl  <name> < 检查哪些内容> [flags]  [operator条件] [<value>]

contion检查条件:

Dst : ip     检查后端的ip

Dst_port :     检查后端的端口

Dst_conn     检查后端的套接字

Src   :  ip   检查原ip

Src_port       检查原端口

fLags :

-i : 忽略字符大小写

-m: 使用特定匹配方式

-n : 禁止主机名反解

-u : acl不能与其他acl同名

--  :  表示结束标志位

Operator:

整数: eq  ge  gt  le  lt

字符串:(之前)

-m  str  : 精确匹配

-m  sub  : 子串匹配

-m  beg  : 前缀匹配

-m  end  :   后缀匹配

-m  dir   : 路径匹配

-m  con  : 域名匹配

Acl作为条件时的逻辑关系:

··         And             与

Or   ||    或

非  !          非

 

<value> 的类型可以是:

Boolean : 布尔值

Int  :   整数或一个整数范围

Ip   :   ip地址

Str   :   是一个字符串  进行匹配,有多重匹配方式

如  acl  invalid_src  src   172.16.200.2   检查原目标地址 是172.16.200.2 就符号条件

如:
定义一个acl: acl allowstats src 172.168.200.2 定义acl匹配原ip
定义一个配置后的规则: block if ! allowstats 阻塞除上原ip之外的其他地址访问
在阻塞后自定义错误页:
errorloc http://172.16.0.67:10080/errorloc/403.html http-request allow if allowstats : 来自acl定义的这个运行访问

七层的匹配标准有:

  

Path 路径 (/imgs/logs/log.jpg)

Path:  精确匹配                                   (path /imgs/logs/log.jpg )

Path_beg  :前缀匹配                               (path_beg  /imgs)

Path_end  : 后缀匹配                            (path_end  .jpg)

Path_reg : z正则表达式模式匹配      (path_reg  ^/imgs/*)

Path_sub : 子串匹配                               (path_sub   logs)

Path_dir  : 子路径匹配                      (path_dir  logs/log.ipg)

Path_dom :  域名子串匹配

如;

Acl  static  path_end  .jpg  .jpeg  .git  .txt  .html

Usr_backend  staticserver( 后面定义的特定后端)  if   static   如果是acl中定义的就调用staticserver这个后端

url  : str

url : 精确url  匹配

url_beg

url_end

url_dir

url_reg

url_sub

url_dom

req.hdr    :请求报文的指定首部

hdr : 精确url  匹配

hdr_beg

hdr _end

hdr _dir

hdr _reg

hdr _sub

hdr _dom

如:

Acl  bad_curl  hdr_sub(user-Agent)  -i  curl   请求报文首部包含cutl这个字符串的请求

Block  if  bad_curl                                   拒绝curl 访问

haproxy4-acl配置的更多相关文章

  1. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  2. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  3. consul之:ACL配置使用

    consul自带ACL控制功能,看了很多遍官方文档,没有配置步骤https://www.consul.io/docs/internals/acl.html 主要对各种配置参数解释,没有明确的步骤,当时 ...

  4. consul集群搭建以及ACL配置

    由于时间匆忙,要是有什么地方没有写对的,请大佬指正,谢谢.文章有点水,大佬勿喷这篇博客不回去深度的讲解consul中的一些知识,主要分享的我在使用的时候的一些操作和遇见的问题以及解决办法.当然有些东西 ...

  5. Centos Consul集群及Acl配置

    一,准备工作 准备四台centos服务器,三台用于consul server 高可用集群,一台用于consul client作服务注册及健康检查.架构如下图所示 二,在四台服务器上安装consul 1 ...

  6. 基本的访问控制列表ACL配置

    摘要: 访问控制列表ACL (Access Control L ist)是由permit或 deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址.目的地址.源端口.目的端口等信息  来 ...

  7. 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)

    前言 上一篇简单介绍了Consul,并使用开发模式(dev)进行流程演示,但在实际开发中需要考虑Consul的高可用和操作安全性,所以接着来聊聊集群和ACL的相关配置,涉及到的命令会在环境搭建过程中详 ...

  8. CISCO ACL配置

    ACL:access(访问)control(控制)list(列表),用来实现防火墙规则. 访问控制列表的原理对路由器接口来说有两个方向出:已经经路由器的处理,正离开路由器接口的数据包入:已经到达路由器 ...

  9. CISCO ACL配置(目前)

    什么是ACL? 访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制 ...

  10. Cisco VLAN ACL配置

    什么是ACL? ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包, 是控制访问的一种网络技术手段, ACL适用于所有的被路由 ...

随机推荐

  1. Node的安装和进程管理

    安装nvm git clone https://github.com/creationix/nvm.git source nvm/nvm.sh 安装node nvm install 6.14.4(版本 ...

  2. C# webapi 上传下载图片

    客户端上传文件 string url = url + "webUploadFile"; Uri server = new Uri(url); HttpClient httpClie ...

  3. mysqldump 备份数据和恢复

    命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 一.导出数据: 导出整个数据库结构和数据mysqldump -h localhost -u ...

  4. 【opencv实践】边缘检测

    边缘检测: 一.canny算子 Canny边缘检测根据对信噪比与定位乘积进行测度,得到最优化逼近算子,也就是Canny算子.类似与 LoG 边缘检测方法,也属于先平滑后求导数的方法. 二.canny算 ...

  5. thinkphp在iis上不是出现500错误

    按照官方文档,部署好iis下面URL重定向文件后,出现500错误,不停地百度,不停地修改web.config文件,终也不成. 在虚拟空间调整了php版本,一下子就好了.原来的版本为5.4,调整为5.6 ...

  6. Python利用pandas处理Excel数据的应用

    Python利用pandas处理Excel数据的应用   最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...

  7. (四)ORBSLAM运动估计

    ORBSLAM2的运动估计简介 ORBSLAM2中的运动估计核心方法就是3D-2D的PNP,而在跟踪过程主要分为三种类型: 无运动模型的跟踪,即基于参考帧的跟踪: 基于匀速运动模型的跟踪: 重定位: ...

  8. 机器学习基石9-Linear Regression

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上节课,主要介绍了在有noise的情况下,VC Bound理论仍然是成立的.同 ...

  9. 使用scrapy爬虫,爬取今日头条搜索吉林疫苗新闻(scrapy+selenium+PhantomJS)

    这一阵子吉林疫苗案,备受大家关注,索性使用爬虫来爬取今日头条搜索吉林疫苗的新闻 依然使用三件套(scrapy+selenium+PhantomJS)来爬取新闻 以下是搜索页面,得到吉林疫苗的搜索信息, ...

  10. Gitlab_ansible_jenkins三剑客⑤jenkins Pipeline-job的使用

    Pipeline-job的使用 创建Pipeline任务 找到root用户的id 编写pipeline脚本 #!groovy pipeline{ agent {node {label 'master' ...