AWS Application Load Balancer - символ шаблона пути перехода - PullRequest
0 голосов
/ 12 ноября 2019

Я развернул входной контроллер AWS ALB в EKS, и k8s создали AWS ALB и создали несколько правил для пересылки трафика:

Как указано в документации:

https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-listeners.html

Условия пути

Вы можете использовать условия пути для определения правил, которые направляют запросы на основе URL-адреса в запросе (также известного как маршрутизация на основе пути). Шаблон пути применяется только к пути URL, а не к его параметрам запроса. Шаблон пути чувствителен к регистру, может иметь длину до 128 символов и может содержать любой из следующих символов:

A – Z, a – z, 0–9

_-. $ / ~ "'@: +

& (с использованием &)

*. (Соответствует 0 или более символам)

? (Соответствует 1 символу)


У меня два правила :

1. IF Path is /api/* THEN Forward to XXX
2. IF Path is /* THEN Forward to YYY

URL-адреса в моем веб-приложении:

 1. example.com/api/users/1 Forward to XXX [200 - OK]
 2. example.com/signin Forward to YYY [200 - OK]
 3. example.com/login-user returns 404 (the hyphen is recognized as a pattern)

Ожидаемое: правило перенаправления запроса 3 на YYY

Я пытался это сделать:

IF Path is /* THEN Forward to YYY

Не повезло, в документации ничего не говорится о том, как я могу избежать дефиса для пересылки запроса 3 наГГГГ

PD : у меня около 50 ури с дефисами, и я не хочу их переписывать.

1 Ответ

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

Немного взломать, но попробуйте /login?user/* в вашем правиле.

Знак вопроса должен соответствовать дефису. Конечно, он будет соответствовать любому символу, но это действительно не должно влиять на ваше разрешение URL, если у вас нет странного конфликта в ваших URL-путях, например / loginfuser или чего-то еще.

...