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

Amazon ELB маскирует IP-адрес для ящиков EC2?

Похоже, мой Amazon Elastic Load Balancer распределяет трафик между EC2, но без их IP-адресов?

Это обычное поведение? Это невероятно раздражает. Т.е. ELB CName находится на моем доменном имени DNS, я попал в домен, и в журнале доступа указан IP-адрес ELB, а не посетителя.

Поскольку ссылка в вашем комментарии не работает, вот как регистрировать IP-адреса посетителей:

В httpd.conf создайте новый формат журнала:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined-elb

Затем использовать:

CustomLog logs/access_log combined-elb

Это так просто.

Если вы используете ELB в режиме HTTP, он добавляет несколько заголовков HTTP на запрос, отправленный экземплярам EC2, среди которых X-Forwarded-For заголовок, который будет содержать IP-адрес клиента.

X-Forwarded-For: 203.0.113.7

Обратите внимание, что этот заголовок потенциально может содержать более одного IP-адреса, если другие балансировщики нагрузки или прокси-серверы обрабатывали запрос. В этом случае вы хотите извлечь первый указанный IP-адрес.

X-Forwarded-For: 203.0.113.7, 10.12.33.44, 10.73.23.88