Отображение реального IP посетителей сайта

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

Актуальный список наших IP подсетей с которых поступают очищенные запросы доступен здесь https://cloud-shield.ru/ips

Настройка для Nginx

Воспользуйтесь модулем ngx_http_realip_module.

В nginx.conf следует добавить:

# Cloud-Shield IPv4 address ranges
set_real_ip_from 185.143.174.152/29;
set_real_ip_from 185.108.18.192/28;
set_real_ip_from 51.89.32.16/30;
set_real_ip_from 51.89.32.20/32;
set_real_ip_from 135.125.128.224/28;
set_real_ip_from 51.75.157.80/28;
real_ip_header    CS-Connecting-IP;

Сохраните и затем перезапустите веб-сервер
systemctl restart nginx.service

Настройка для Apache

Настоятельно рекомендуем установить nginx в качестве proxy перед apache с целью снижения нагрузки и повышения отказоустойчивости вашего ресурса.

Временное решение:
Активируйте модуль mod_remoteip командой
a2enmod remoteip
Создайте файл конфигурации /etc/apache2/conf.d/realip.conf со следующим содержанием:

<IfModule !mod_remoteip.c>
   LoadModule remoteip_module modules/mod_remoteip.so
</IfModule>

<IfModule mod_remoteip.c>
   # Cloud-Shield header
   RemoteIPHeader CS-Connecting-IP
   # Cloud-Shield IPv4 address ranges
   RemoteIPTrustedProxy 185.143.174.152/29
   RemoteIPTrustedProxy 185.108.18.192/28
   RemoteIPTrustedProxy 51.89.32.16/30
   RemoteIPTrustedProxy 51.89.32.20/32
   RemoteIPTrustedProxy 135.125.128.224/28
   RemoteIPTrustedProxy 51.75.157.80/28
</IfModule>

Сохраните и затем перезапустите веб-сервер
systemctl restart apache2.service


Если у вас шаред (виртуальный) хостинг

В случаях, когда у вас нет возможности изменить конфигурацию веб-сервера, вы можете извлекать оригинальный IP из HTTP заголовков непосредственно в ваших скриптах или CMS.
В популярных движках обычно имеется возможность задать имя заголовка, в котором приходит реальный IP адрес посетителя.
Укажите заголовок: CS-Connecting-IP

PHP пример получения оригинального IP:

if (isset($_SERVER["HTTP_CS_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CS_CONNECTING_IP"];
}
  • nginx, apache, x-real-ip
  • 17 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Бесплатная защита от парсинга сайта

Наши клиенты нашли интересное применение режиму защиты "I'm under attack" в положении JS проверки...

Web Application Firewall - Wallarm

На тарифах удаленной защиты PROXY для наших клиентов доступна опция подключения Web Application...

Удаленный Firewall

Достаточно часто владелец сайта самостоятельно способен определить, является посетитель сайта...

Как переехать с Cloudflare на Cloud-Shield

Для переключения с Cloudflare (CF) на защиту сайта от Cloud-Shield следует выполнить следующие...

Частые ошибки и вопросы при PROXY защите сайта

Ошибка SSL/TLS сертификата или ERR_CERT_AUTHORITY_INVALID Описание: После подключения прокси...