2017-05-10 10 views
0

Ich habe zwei Anwendungen, die miteinander kommunizieren. Die eine Anwendung wurde aktualisiert und die angeforderte URL in der neuen Version ist für die zweite Anwendung nicht gültig. Ich versuche, HAProxy zwischen die Anwendungen zu setzen, um dieses Problem zu lösen. Ich habe Probleme mit einem funktionierenden Regex-Ausdruck, um das Problem zu lösen.HAProxy regex Dateierweiterung

angeforderte URL: https://www.example.com/certs/download korrekte URL muss ich dies ändern: https://www.example.com/certs/download.zip

wie kann ich auf die Anfrage hinzufügen .zip, wenn es für/certs/Download ist und keine anderen Anforderungen. Die meisten der Beispiele, die ich finde, sind ein Ersatz für die mittlere Zeichenkette und scheinen nicht für die eigentliche und die Abfrage zu funktionieren. Regex ist auch über meinen Kopf und neu für mich. Es scheint, dass die genaue haproxy-Implementierung anders ist als haproxy config Beispiele Ich finde Fehler in allen Online-Regex-Checkern.

Antwort

1

Mit HAProxy> = 1,6, können Sie einfach das hinzufügen wie folgt aus:

http-request set-path %[path].zip if { path /certs/download } 

Auf diese Weise wird die Verlängerung nur dann, wenn die ACL-Matches hinzugefügt. Weitere Details zur Verwendung der verschiedenen http-request Regeln finden Sie unter documentation.