AWS Load Balancer разрешает определенные IP-адреса в пути URL

В настоящее время у меня есть приложение, настроенное на AWS с использованием балансировщика нагрузки приложений с 2 ​​EC2 в целевой группе:

DNS -> AWS-ALB -> EC2 (2)

Мне нужна помощь в разрешении только определенных IP-адресов в пути контекста URL-адреса приложения.

Например: www.abc.com должен быть доступен для всех, но www.abc.com/xyz должен быть доступен только для определенных IP-адресов.

Я пробовал решение NGINX на EC2, и оно работает только тогда, когда я напрямую попадаю на IP-адрес EC2 с правилами разрешения и запрета.


person varun    schedule 25.09.2019    source источник


Ответы (2)


Мне удалось решить эту проблему, настроив правила прослушивателя для ALB на основе пути и исходного IP-адреса.

Допустим, вы хотите разрешить доступ к www.abc.com/xyz/* из пула IP-адресов 123.123.123.120/30 и запретить кому-либо еще.

Правила ALB:

  1. ЕСЛИ исходный IP-адрес - 123.123.123.120/30, И путь - / xyz / * ТО пересылать в целевую группу вашего приложения.

  2. ЕСЛИ Путь равен / xyz / * THEN Вернуть фиксированный ответ 403 (или любой другой, подходящий для вашего варианта использования)

  3. Если в противном случае запросы не перенаправляются ТОГДА Перенаправляются в целевую группу вашего приложения

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html

person bekmate    schedule 25.10.2019

Вы можете использовать WAF с ALB, если он доступен в регионе. Вы можете создать простое правило с двумя условиями, которые соответствуют URI и IP-адреса не совпадают, поскольку условия в ПРАВИЛЕ работают в операции И, они должны соответствовать вашим требованиям.

https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-rules-creating.html.

person James Dean    schedule 26.09.2019