haproxy基于ACL的动静分离

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy基于ACL的动静分离相关的知识,希望对你有一定的参考价值。

acl 语法:

acl  <acl_name>  <criterion> [flags] [operator] <value>

acl_name:自定义的acl名称,区分大小写,只能包含、字母、数字、"-"、 "_"  、":"  、 "."

criterion:检查条件

flag:标志位,例如:

     -i:不区分大小写

operation:操作符,做数值比较,例如:eq(=)、ge(>=)、gt(>)、le(<=)、lt(<)


value:指定的值。可以是数值,也可是字符串。

数据类型为int时

例如: 1024:65535

数据类型为string时:

支持-i选项

支持正则表达式

支持IP address and networks


检查标准:

dst <ip_address> :目标地址

dst_port <integer>:目标端口

src <ip_address>:源地址

src_port <integer>:源端口




acl基于tcp做4层访问控制

tcp-request content accept [{if | unless} condition ]
tcp-request content accept reject

只能在frontend、listen区段中定义


例如:

acl  goodguys  src 10.0.0.0/24
tcp-request content accept if googuys
tcp-request content accept reject

解释:只允许10.0.0.0/24网段的用户访问,其他的都拒绝


例如:

listen statistics 
    bind *:8010
    stats enable
    stats uri /haadmin?stats
    stats auth admin:admin
    stats admin if TRUE
    acl whitelist  src 172.16.0.0/16
    acl blacklist src 172.16.100.10/24
    tcp-request content reject if blacklist
    tcp-request content accept if whitelist
    tcp-request content reject

    





本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1913949

以上是关于haproxy基于ACL的动静分离的主要内容,如果未能解决你的问题,请参考以下文章

使用HAProxy的ACL实现基于文件后缀名的动静分离

HAproxy动静分离

HAproxy指南之haproxy实现应用动静分离(案例篇)

HAProxy基于KeepAlived实现Web高可用及动静分离

基于HAProxy+Varnish实现动静分离负载均衡的高可用集群

keepalive高可用haproxy实现URL资源的动静分离