2013-08-31 3 views
9

С веб-сервером (apache или nginx) я могу найти заголовок x-forwarded-for и найти IP-адрес клиента, а не IP-адрес ELB.Как получить IP-адрес клиента за шиной AWS?

Могу ли я сделать то же самое, используя IPTables, чтобы я мог блокировать определенные IP-адреса?

Я могу сделать это на уровне веб-сервера. Однако, я думаю, что это немного неэффективно, и я надеюсь, что смогу добиться этого с помощью IP-таблиц или чего-то подобного?

ответ

6

Вы не можете сделать это с помощью iptables, потому что iptables будет видеть только IP-адрес эластичного балансира нагрузки, поскольку ELB - это то, что устанавливает соединения с вашим экземпляром.

Использование веб-сервера для блокировки определенных значений переадресации х не является особенно неэффективным, но если вы хотите контролировать, кто может получить доступ к вашему ELB по IP-адресу, это также может быть выполнено с помощью группы безопасности, прикрепленной к ELB.


Update: Ваш комментарий частично правильно, потому что, по крайней мере, как сейчас, ELB на EC2 «классика» не поддерживает входящую группу безопасности или доступа к сети список управления, но ELB на VPC делает.

В: Могу ли я настроить группу безопасности для интерфейсного блока балансировки эластичной нагрузки?

Если вы используете виртуальное частное облако Amazon, вы можете настроить группы безопасности для интерфейса вашего балансировщика эластичной нагрузки. —   http://aws.amazon.com/ec2/faqs/#ELB6

группы безопасности проще всего использовать, когда вам нужно разрешить относительно небольшой набор определенных диапазонов IP-адресов. Если вы хотите разрешить большинство, но заблокировать несколько, то более удобным является подход VPC Network Access Control List.

+0

У ELB нет групп безопасности, не так ли? По крайней мере, вы не можете добавлять/удалять IP-адреса. – Abs

11

С 30 июля ELB поддерживает Proxy Protocol. Как указано в конце this thread in the AWS forum:

Эластичные балансировки нагрузки (УЗО) теперь поддерживает прокси-протокол версии 1. Эта функция позволяет идентифицировать соединение клиента информацию при использовании балансировки TCP нагрузки, обеспечивая дополнительное понимание посетителей ваших приложений. Наличие этой информации может быть полезна для анализа журналов трафика, сбора информации о подключении , устранения неполадок или управления списками белых адресов.

Вы должны enable Proxy Protocol in the ELB.

У developers guide есть дополнительная информация о прокси-протоколе.

+0

Просто примечание: Протокол прокси необходим только при использовании прослушивателей «TCP». Для слушателей 'HTTP' вы можете использовать заголовок' X-Forwarded-For'. –

+0

Это все еще так? ссылка не работает:/ –

+0

Какая ссылка не работает? –