HAProxy 的acl应用

Posted jeson-lbb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAProxy 的acl应用相关的知识,希望对你有一定的参考价值。

非常好的博文推荐:http://blog.51cto.com/1992tao/1875563

官方文档:https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#block

hdr([<name>[,<occ>]]) : string                                 ACL derivatives :
这将提取请求的URL路径,该路径从第一条斜杠开始。                  hdr([<name>[,<occ>]])     : exact string match   hdr_reg(host) 匹配www.baidu.com的内容
在问号之前结束(没有主机部分)。一个典型的用法是                 hdr_beg([<name>[,<occ>]]) : prefix match         hdr_reg(user-agent)匹配请求报文中的浏览器
可预取的高速缓存和需要聚合的多个门户                             hdr_dir([<name>[,<occ>]]) : subdir match         acl missing_cl hdr_cnt(Content-length) eq 0
数据库中的信息,并将它们保存在缓存中。注意外出时                 hdr_dom([<name>[,<occ>]]) : domain match         #当请求的header中Content-length 等于0时返回true
缓存,更明智的是使用“URL”来代替。用ACL,它通常是               hdr_end([<name>[,<occ>]]) : suffix match         
用于匹配精确的文件名(例如“/Logial.php”)或目录部分使用        hdr_len([<name>[,<occ>]]) : length match         
派生形式。还可以看到“URL”和“BASE”获取方法。                  hdr_reg([<name>[,<occ>]]) : regex match          
                                                                 hdr_sub([<name>[,<occ>]]) : substring match      
path : string                                                   ACL derivatives :                                 
这将提取请求的URL路径,该路径从第一条斜杠开始。                  path     : exact string match      只匹配www.baidu.com/blog/lbb/index.html中
在问号之前结束(没有主机部分)。一个典型的用法是                 path_beg : prefix match            的/blog/lbb/index.html这部分URl
可预取的高速缓存和需要聚合的多个门户                             path_dir : subdir match            
数据库中的信息,并将它们保存在缓存中。注意外出时                 path_dom : domain match            
缓存,更明智的是使用“URL”来代替。用ACL,它通常是               path_end : suffix match            
用于匹配精确的文件名(例如“/Logial.php”)或目录部分使用        path_len : length match            
派生形式。还可以看到“URL”和“BASE”获取方法。                  path_reg : regex match             
                                                                 path_sub : substring match         
url : string                                                   ACL derivatives :
这将提取请求中呈现的请求的URL。一个典型的用法是                  url     : exact string match       匹配www.baidu.com/blog/lbb/index.html中
具有预取能力的缓存,以及需要聚合的门户。                         url_beg : prefix match             的全部内容
数据库中的多个信息,并将它们保存在缓存中。使用ACL,使用          url_dir : subdir match             
“路径”优于使用“URL”,因为客户端可以发送完整的URL作为         url_dom : domain match             
通常是用代理完成的。唯一真正的用途是匹配“*”。                  url_end : suffix match             
在“路径”中不匹配,并且已经存在预定义的ACL。见                  url_len : length match             
“路径”和“基础”。                                             url_reg : regex match              
redirect prefix <pfx> [code <code>] <option>
[{if | unless} <condition>     url_sub : substring match
<代码>代码是可选的。它指示HTTP重定向的类型。                   method http方法:
是需要的。仅支持代码301, 302, 303、307和308,                    req_ver  请求版本
如果没有指定代码,则默认使用302。301手段                         resp_ver  响应版本
“永久移动”,浏览器可以缓存位置。三百零二                       status   http状态
意味着“临时移动”,意味着浏览器不应该                           url    精确匹配url
缓存重定向。303等于302,除了                                     url_reg  正则匹配
浏览器将获取一个get方法的位置。307只是                           url_dir   斜线之间
如302,但清楚地表明,同样的方法必须重复使用。                    url_dom   斜线之间或点之间
同样地,如果必须使用相同的方法,则308替换301。  





































以上是关于HAProxy 的acl应用的主要内容,如果未能解决你的问题,请参考以下文章

HAProxy 之 ACL介绍和使用

HAProxy的ACL调度规则

haproxy ACL及动静分离

高可用高性能负载均衡软件HAproxy详解指南-第二章(配置文件关键字ACL)

负载均衡服务之HAProxy访问控制ACL

haproxy基于ACL的动静分离