Заголовок X-Forwarded-For. Получать реальные IP-адреса посетителей сайта

Последние изменения: 06.03.2023

Наши серверы выступают в роли обратного прокси и фильтруют все входящие запросы к серверу-источнику, поэтому в access logs вы увидите только IP адреса подсетей защиты. Если вы хотите получать реальные IP пользователей, настройте заголовок X-Forwarded-For на вашем сервере. 

Напишите нам в чат или на support@edgecenter.ru, чтобы получить актуальный список подсетей.

Nginx 

1. Воспользуйтесь модулем ngx_http_realip_module и добавьте две директивы: set_real_ip_from и real_ip_header.

  • set_real_ip определяет список доверенных подсетей.

set_real_ip_from 9х.ххх.ххх.х/24;
set_real_ip_from 1хх.ххх.ххх.0/24;
set_real_ip_from 9х.ххх.ххх.х/24;

Напишите нам в чат или на support@edgecenter.ru, чтобы получить актуальный список подсетей.

  • real_ip_header указывает на то, что IP-адреса содержатся в заголовке X-Forwarded-For.

real_ip_header X-Forwarded-For;

2. (опционально) Добавьте переменную $http_x_forwarded_for в директиву log_format, чтобы восстановить отображение реальных IP пользователей в access logs.

3. Перезагрузите Nginx.

Apache

1. Установите и настройте модуль mod_remoteip.

Пример правила, которое нужно добавить на источник:

Указание на то, что модуль remoteip необходимо загрузить из данной директории:

# LoadModule remoteip_module modules/mod_remoteip.so

Указание на то, что IP-адреса находятся в заголовке X-Forwarded-For:

# RemoteIPHeader X-Forwarded-For

Напишите нам в чат или на support@edgecenter.ru, чтобы получить актуальный список подсетей.

Указание на то, что узлы защиты являются доверенными:

# RemoteIPTrustedProxy 9х.ххх.ххх.х/24;
# RemoteIPTrustedProxy 1хх.ххх.ххх.х/24;
# RemoteIPTrustedProxy 9х.ххх.ххх.х/24;

2. Сохраните изменения.

3. Перезапустите Apache.

Помогла ли вам статья?