Настройка nginx для регистрации исходного IP-адреса запрашивающего (вместо IP-адреса прокси-сервера)

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

Однако прокси-сервер обеспечивает включение исходного IP-адреса запрашивающей стороны в отдельное поле заголовка HTTP под названием X-IORG-FBS-UIP. Его также можно найти в X-FORWARDED-FOR.

В журналах доступа nginx, Я заметил, что для всех этих пользователей отображается IP-адрес прокси, а не настоящий IP-адрес. Как я могу настроить nginx так, чтобы исходный IP-адрес запрашивающего регистрировался nginx, а не прокси-сервером? Наглядный пример был бы отличным; заранее спасибо!


ps мой nginx - версия 1.4.6

3
задан 19 February 2017 в 16:45
1 ответ

Это делается с помощью set_real_ip_from для обновления переменной $ remote_addr на основе настраиваемого заголовка. Например, /etc/nginx/conf.d/proxies_acl.conf можно создать следующим образом, чтобы установить переменную IP клиента на основе заголовка X-IORG-FBS-UIP для запросов, проксированных 1.2.3.0/22 ​​ и 23.22.20.0/22 ​​:

set_real_ip_from 1.2.3.0/22;
set_real_ip_from 23.22.20.0/22;
real_ip_header X-IORG-FBS-UIP;
4
ответ дан 3 December 2019 в 06:01

Теги

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