#kubernetes #yaml #mapping #envoyproxy #ambassador
#kubernetes #yaml #сопоставление #envoyproxy #посол
Вопрос:
Я пытаюсь использовать Ambassador prefix_regex
и regex_rewrite
.
Я хочу, чтобы оба этих маршрута имели префиксы:
/my/route/<something>
/api/v1/my/route/<something>
будет сопоставлено с:
/my/route/<something>
Это то, что я пытался использовать:
apiVersion: ambassador/v2
kind: Mapping
prefix_regex: true
prefix: (/api/v1)?/my/route
regex_rewrite:
pattern: "/api/v1/my/route/(.*)"
substitution: "/my/route/\1"
Использование regex_rewrite
с обычными prefix
работами, как и ожидалось
Использование prefix_regex
с обычными rewrite
работами, как и ожидалось
, но вместе я получаю 404 от посланника.
Есть идеи?
Я использую версию Ambassador 1.7.0
Ответ №1:
Решается путем добавления / .* в конце префикса.
prefix: (/api/v1)?/my/route/.*
Похоже, что prefix_regex автоматически добавляется $
в конце префикса, что означает, что нам нужно указать полный путь сопоставления, а не только префикс.