Назад | Перейти на главную страницу

Как установить правило входящего трафика для Amazon ELB на основе пути

У меня есть набор экземпляров EC2 и балансировщик нагрузки перед ними. Я создал группу безопасности для ELB и установил правило для входящего трафика, чтобы разрешить HTTP-трафик от кого угодно.

Однако я хотел бы ограничить доступ к определенному пути (например, / admin) в моих экземплярах EC2 только для запросов, которые поступают из исходного ip / диапазона. Могу ли я сделать это, установив правило для входящего трафика? Не похоже, что он поддерживает это. Есть ли другой способ добиться этого?

Спасибо

Таким образом нельзя настроить правила входа в группах безопасности; они не относятся к HTTP и ничего не знают об URL-адресах.

Для этого нужно настроить контроль доступа на вашем HTTP-сервере. Например, в Apache вы можете ограничить доступ к определенному пути либо в конфигурации сервера, либо в .htaccess файл вроде этого:

Order Deny,Allow
Deny from all
Allow from 1.2.3.4

См. Документацию Вот для Apache. Nginx имеет аналогичные функции.

ianjs верен, вы не можете выполнить то, что вам нужно, с помощью ELB и / или групп безопасности.

На Amazon Web Services вы можете посетить их AWS Marketplace и использовать коммерческий продукт для балансировки нагрузки, например АЦП Ishlangu Load Balancer от Shaka Technologies или BIG-IP LTM от F5. Эти два продукта не только предоставляют возможность ограничивать доступ к определенным путям приложений, но также перенаправлять и перезаписывать трафик запросов и / или ответов на лету. Это может быть выполнено с использованием средств управления трафиком каждого поставщика (скрипт uControl для Ishlangu и iRules для F5 LTM).

Я бы предложил использовать один из них через ELB или ELB + обратный прокси (например, Apache), как это было предложено ianjs. Последнее решение увеличило бы задержку и усложнило бы вашу среду, в то время как первое не обеспечивает необходимых вам функций.