kiloper
@kiloper

Как получить реальный IP адрес в логах nginx?

Доброго времени суток, у меня след. ситуация. Стоит проксирующий nginx (с двумя интерфейсами: внешний IP и внутренний - 192.168.1.1), внутри сети на адресе 192.168.1.6 принимает запросы также nginx (backend) сервер. Все работает, но вот на backend в логах nginx я вижу внутренний IP проксирующего сервера 192.168.1.1 А необходимо видеть ИП клиента
Прилагаю настройку
server {
server_name ххххххх;
location / {
proxy_redirect off;
proxy_pass http://192.168.1.6;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
  • Вопрос задан
  • 4686 просмотров
Решения вопроса 2
J_o_k_e_R
@J_o_k_e_R
Используйте на бэкэнде модуль http_realip_module.

Пример:
set_real_ip_from 192.168.1.0/24;
set_real_ip_from 192.168.2.1;
set_real_ip_from 2001:0db8::/32;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
set_real_ip_from 192.168.0.0;
real_ip_header X-Real-IP;

X-forwarded-* заголовки в данном случае использовать не стоит, в нём может оказаться больше одного адреса.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы