访问控制

ACL

acl:对接收到的报文进行匹配和过滤,基于请求报文头部中的源地址、源端口、目标地址、目标端口、请求方法、URL、文件后缀等信息内容进行匹配并执行进一步操作

ACL名称,可以使用大字母A-Z、小写字母a-z、数字0-9、冒号:、点.、中横线和下划线,并且严格区分大小写,必须Image\_site和image\_site完全是两个acl

Criterion-acl

flags

operator

value

Acl定义与调用

acl作为条件时的逻辑关系
  • 与:隐式(默认)使用
  • 或:使用“or” 或 “||”表示
  • 否定:使用“!“ 表示

示例域名匹配

源地址子网匹配

源地址访问控制

匹配浏览器

自定义错误页面

自定义错误跳转 #注客户端可以直接访问这台主机,302临时重定向

基于acl+文件后缀实现动静分离

匹配访问路径

http 基于策略的访问控制

预定义acl

ACL name
Equivalent to
Usage
always\_false
never match
req\_proto\_http
match if protocol is valid HTTP
req\_ver 1.0
match HTTP version 1.0
req\_ver 1.1
match HTTP version 1.1
hdr\_val(content-length) gt 0
match an existing content-length
url\_reg ^\[^/:\]\*://
match absolute URL with scheme
url\_beg /
match URL beginning with “/“
url \*
match URL equal to “\*”
src 127.0.0.1/8
match connection from local host
method CONNECT
match HTTP CONNECT method
method DELETE
match HTTP DELETE method
method GET HEAD
match HTTP GET or HEAD method
method HEAD
match HTTP HEAD method
method OPTIONS
match HTTP OPTIONS method
method POST
match HTTP POST method
method PUT
match HTTP PUT method
method TRACE
match HTTP TRACE method
req\_rdp\_cookie\_cnt gt 0
match presence of an RDP cookie
req\_len gt 0
match data in the request buffer
always\_true
always match
wait\_end
wait for end of content analysis

预定义acl使用

四层负载

四层访问控制

https协议

配置HAProxy支持https协议

服务器动态上下线

小结

1、ACL定义与使用 2、errorfile指令旧版本支持2.2.8的版本不支持 3、ACL可实现,动静分离、匹配浏览器、域名、路径、源地址、访问控制等,注 4、http由haproxy临时重定向302到https 新版本需要加两行
5、使用socat向socket文件发送指令 6、注意四层和七层的区别,四层控制IP和端口,七层能修改应用头部等相关信息 使用四层代理其他服务如redis、mysql,整合其他较方便 7、启动haproxy可指定多个配置文件,这样防止多个配置项不会在一个文件,若成千万行修改,不太便于修改文件或排查问题
Loading...