HAProxy 中 URL 的 Reg Exp

Nim*_*jox 2 url routing regex haproxy

我正在尝试为 haproxy 构建一个 reg exp,它将匹配第二个 URL 并将其定向到与第一个不同的 acl:

mysite.com/path/
mysite.com/path/something_random
Run Code Online (Sandbox Code Playgroud)

问题是我的第一个 reg exp 匹配上面的两个 url,而它应该只匹配第二个。我也找不到关于 haproxy regex 格式的更多文档,所以我什至不确定在哪里引用我应该用于匹配的 reg exp 格式。reg exp pro 可以帮助我吗 我是新手,谢谢。

 acl filebrowser_route path_reg ^/path/.*
 acl filebrowser url_beg /path
Run Code Online (Sandbox Code Playgroud)

Tom*_*ime 8

您需要构造两个互斥的正则表达式:一次只能有一个为真:

如果您将第二项设为正则表达式,例如:

^/path[^/]
Run Code Online (Sandbox Code Playgroud)

[^/]意思是“任何字符不是/”。

以下是三个互斥的 URL:

acl fb1 path_reg ^/path$          # Just /path
acl fb2 path_reg ^/path/$         # Just /path/
acl fb3 path_reg ^/path/..*$      # /path/ plus at least 1 character
Run Code Online (Sandbox Code Playgroud)