При подключении любой 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"]; }