Найти тему
vladios13

Проброс IP-юзера за CloudFlare

Схема работы CF (cloudflare) очень проста. Она выглядит так:
Клиент -> CloudFlare -> Сервер -> CloudFlare -> Клиент.
Таким образом, вы не увидите реальный IP-адрес клиента, потому что будет отдан IP CF.

Но CF передает реальный IP в HTTP-заголовке CF_CONNECTING_IP.
Поэтому нам нужно настроить его обработку посредством NGNIX на сбор реального IP-адреса.

Для этого подключаемся к своему VDS/VPS и создаем файл «cloudflare» в каталоге /etc/nginx/. Далее прописываем следующие строки:

set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
real_ip_header CF-Connecting-IP;

Все свежие пулы IPv4 можно достать тут

Далее открываем главный конфиг NGNIX nginx.conf, и в секции http {} указываем следующее:

include cloudflare;

Теперь если IP-адрес будет совпадать с IP-адресами CF, nginx будет брать настоящий IP из заголовка CF_CONNECTING_IP.

На этом вся настройка закончена. Делаем перезапуск nginx-сервера для вступления изменений в силу.

Блог vladios13