Как я могу заставить haproxy перезаписать URL-адрес, сохранив переменную, которая находится в середине пути?

Я пытаюсь перенаправить URL-адрес, который выглядит как http: // host / api / getThingByID / 12345 , на http: // host / api / addr / 12345 / getThing

К сожалению, regsub () не поддерживает группы захвата. Я собирался попытаться обойти это, просто вызвав его дважды: один раз, чтобы переписать URL-адрес до идентификатора, а затем снова заменить / $ на / getThing , но я не могу понять, как вызвать функцию дважды в одном правиле перенаправления.

1
задан 3 April 2018 в 19:33
1 ответ

После долгих экспериментов я нашел решение. Вы можете просто связать regsub () один за другим, используя такое правило:

http-запрос перенаправления, код 301 местоположение% [url, regsub (^ / api / getThingByAddr, / api / addr /,), regsub ($, / getThing,)] если {path_beg / api / getThingByAddr}

2
ответ дан 3 December 2019 в 20:15

Теги

Похожие вопросы