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

Как мне распечатать значение x-forwarded-for в apache?

У нас есть балансировщик нагрузки aws. Балансировщик нагрузки использует TCP-соединения 443 для шифрования данных.

Поскольку балансировщик нагрузки шифрует IP-адрес клиента, в нашем файле журнала apache мы можем видеть только IP-адрес балансировщика нагрузки, а не клиента. Хотя мы использовали% {X-Forwarded-For} i в нашем формате журнала.

Есть ли способ решить эту проблему?

Да, ELB поддерживают расшифровку SSL-запроса и отправив простой HTTP-запрос обратно на ваши внутренние серверы Apache.

ELB добавит оба X-Forwarded-For и X-Forwarded-Proto заголовки, чтобы вы могли отличить SSL-запросы от простых HTTP-запросов. Запросы без SSL могут иметь только X-Forwarded-For заголовок или может иметь X-Forwarded-Proto заголовок установлен на http.

Если ваш Apache получает запросы на порт 443, ELB не может вводить какие-либо заголовки, и ваши журналы будут содержать только IP-адрес самого балансировщика нагрузки. Вы должны выполнить завершение SSL в ELB, чтобы получить X-Forwarded-For заголовок.

Есть достойный учебник здесь. Также есть ответ конкретно для Thawte здесь.

тебе нужно mod_rpaf для Apache. Он поместит упакованный IP-адрес X-FORWARDED-FOR вместо IP-адреса балансировщиков нагрузки.