http запрос haproxy вырезать строку - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть вопрос по поводу http-запроса в haproxy. У меня есть следующая проблема.

У меня есть переменная URL, например

http://mywebsite.com/job/1/hello-world/display/redirect

Все между http://mywebsite.com/ и

/display/redirect

может быть переменной. Теперь я хочу, чтобы все, что идет к. ..../display/redirect, было обрезано, так что к http://mywebsite.com/job/1/hello-world без / display / redirect есть способ определить это? У меня есть возможность определить фиксированные URL-адреса, но как с переменными URL-адресами, где только конец всегда соответствует принципу?

Я думал о чем-то вроде:

http-request redirect code 301 location http://mywebsite.com/ [..] if {path_beg [..]/display/redirect}

1 Ответ

0 голосов
/ 05 ноября 2019

Вы спрашивали о путях , заканчивающихся шаблоном, поэтому вы не использовали бы path_beg (путь начинается с) - вы использовали бы path_end (путь заканчивается с) для совпадения.

Затем используйте выборку path и преобразователь regsub(), чтобы перезаписать путь с удаленным шаблоном. Для использования regsub() требуется HAProxy 1.6 или более поздняя версия.

http-request redirect code 301 location %[path,regsub(/display/redirect$,)] if { path_end /display/redirect }
...