haproxy ACL正则表达式和逻辑或

时间:2012-10-23 23:15:33

标签: regex haproxy

如果我的网址格式为/q/a/1234/q/b/456/q/c/987以及/q/x/abc/q/y/3455

我想将/q/[a|b|c]/.*形式的任何网址,即对一个后端的队列a或b或c的任何内容路由,以及将/q/[x|y]/.*的任何内容路由到不同的后端,我将如何实现这一目标?

我试过了:

acl use_server_1 path_reg /a|b|c/
use backend server1 if user_server_1

acl use_server_2 path_reg /x|y/
use backend server2 if user_server_2

这与路线不匹配......有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您遇到语法错误。您将正则表达式定义为use_server_1use_server_2,但您使用'声明正在尝试与useR_server_1useR_server_2进行比较。

答案 1 :(得分:-1)

试试这个:

acl use_server_1 path_reg ^/q/[abc]/?.*$
use backend server1 if user_server_1

acl use_server_2 path_reg ^/q/[xy]/?.*$
use backend server2 if user_server_2