haproxy4-acl配置
访问控制设定:
匹配后可进行那些操作:
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配置的更多相关文章
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...
- 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。
场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...
- consul之:ACL配置使用
consul自带ACL控制功能,看了很多遍官方文档,没有配置步骤https://www.consul.io/docs/internals/acl.html 主要对各种配置参数解释,没有明确的步骤,当时 ...
- consul集群搭建以及ACL配置
由于时间匆忙,要是有什么地方没有写对的,请大佬指正,谢谢.文章有点水,大佬勿喷这篇博客不回去深度的讲解consul中的一些知识,主要分享的我在使用的时候的一些操作和遇见的问题以及解决办法.当然有些东西 ...
- Centos Consul集群及Acl配置
一,准备工作 准备四台centos服务器,三台用于consul server 高可用集群,一台用于consul client作服务注册及健康检查.架构如下图所示 二,在四台服务器上安装consul 1 ...
- 基本的访问控制列表ACL配置
摘要: 访问控制列表ACL (Access Control L ist)是由permit或 deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址.目的地址.源端口.目的端口等信息 来 ...
- 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)
前言 上一篇简单介绍了Consul,并使用开发模式(dev)进行流程演示,但在实际开发中需要考虑Consul的高可用和操作安全性,所以接着来聊聊集群和ACL的相关配置,涉及到的命令会在环境搭建过程中详 ...
- CISCO ACL配置
ACL:access(访问)control(控制)list(列表),用来实现防火墙规则. 访问控制列表的原理对路由器接口来说有两个方向出:已经经路由器的处理,正离开路由器接口的数据包入:已经到达路由器 ...
- CISCO ACL配置(目前)
什么是ACL? 访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制 ...
- Cisco VLAN ACL配置
什么是ACL? ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包, 是控制访问的一种网络技术手段, ACL适用于所有的被路由 ...
随机推荐
- python9--内存管理 引用计数 标记清除 分代回收
复习 文件处理 1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操作系统对硬盘空间的持有 2.基础的读写 ...
- Mac 上 Apache Apollo 的安装与运行,和官方下载文件中 Python 实例的演示
前不久我在 Mac 上成功安装了 mosquitto,这次我又试了试安装另一个热门的 broker —— Apache Apollo.对在 Mac 上安装 mosquitto 感兴趣的可以点击查看我的 ...
- unix域数据报回射程序(不完整)
一.服务器程序 int main(int argc, char **argv) { int sockfd; struct sockaddr_un servaddr, cliaddr; sockfd = ...
- django——个人博客之分页/筛选功能
在完成了注册.登录后就应该显示主页,在主页中有各种功能的按钮,用户点击后进入后台管理,不同角色的用户根据权限不同显示的页面是不相同的,在个人博客页面会显示自己发布的文章,以及自己的保障记录,在进入后台 ...
- CTypes
参考:http://docs.pythontab.com/interpy/c_extensions/ctypes/ Python中的ctypes模块可能是Python调用C方法中最简单的一种.ctyp ...
- .net 笔试题目
2.1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,usin ...
- Laravel 5.7 使用 PHP artisan migrate 的问题
这是由于Laravel 默认使用 utf8mb4 字符, 包括支持在数据库存储「 表情」 . 如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release版本低 ...
- word20161231
1. measurement 英[ˈmeʒəmənt]美[ˈmeʒərmənt]n. 量度; 份量,尺寸; 测量法; (量得的) 尺寸;[例句]We took lots of measurements ...
- centos7 nginx配置ssl证书实现https访问同时http访问
1,首先将你申请到的nginx 分类下的ssl证书上传到nginx的config下(可以新建一个目录叫ssl.) 2.修改nginx的config配置 server {listen 80;(监听80端 ...
- jquery.form插件 提交表单 type="hidden"取不到值的问题记录
1.外国文献:说可以改成其他的(非hidden),再加style="display:none"隐藏. <INPUT type="password" sty ...