Reg Exp für URL in HAProxy

Reg Exp für URL in HAProxy

Ich versuche, einen Reg-Exp für Haproxy zu erstellen, der mit der zweiten URL übereinstimmt und sie an eine andere ACL als die erste weiterleitet:

mysite.com/path/
mysite.com/path/something_random

Das Problem ist, dass mein erster Reg-Exp mit beiden oben genannten URLs übereinstimmt, obwohl er nur mit der zweiten übereinstimmen sollte. Ich kann auch keine weitere Dokumentation zum Format von Haproxy Regex finden, daher bin ich mir nicht einmal sicher, wo ich auf das Reg-Exp-Format verweisen soll, das ich zum Abgleichen verwenden sollte. Können mir Reg-Exp-Profis helfen? Ich bin neu hier, danke.

 acl filebrowser_route path_reg ^/path/.*
 acl filebrowser url_beg /path

Antwort1

Sie müssen zwei reguläre Ausdrücke konstruieren, die sich gegenseitig ausschließen: Es kann immer nur einer gleichzeitig wahr sein:

Wie wäre es, wenn Sie das zweite Element zu einem regulären Ausdruck machen, wie:

^/path[^/]

Das [^/]bedeutet „jedes Zeichen, das nicht / ist“.

Hier sind drei URLs, die sich gegenseitig ausschließen:

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

verwandte Informationen