Показать оригинальный IP с помощью CloudFlare

Показать оригинальный IP с помощью CloudFlare

Я установил nginx и HttpRealipModule, чтобы получить исходный IP моих посетителей. Я также добавляю это в часть http{ } в моем nginx.conf

  set_real_ip_from   204.93.240.0/24;
  set_real_ip_from   204.93.177.0/24;
  set_real_ip_from   199.27.128.0/21;
  set_real_ip_from   173.245.48.0/20;
  set_real_ip_from   103.22.200.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;
  real_ip_header     CF-Connecting-IP;

Однако когда я это делаю

netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n

Чтобы узнать IP-адрес моих посетителей, все IP, которые я получаю, имеют ISP как Cloudflare (я отследил эти IP-адреса). Есть идеи, почему не отображается исходный IP-адрес?

-Еще один вопрос. Я хочу ограничить количество одновременных подключений, которые пользователи используют при загрузке с моего сайта. Если я использую limit_conn 4; это сработает, но если пользователь загружает и пытается получить доступ к сайту из браузера, он/она получит ошибку 503 «недоступно». Есть ли способ ограничить количество подключений, но при этом разрешить пользователям просматривать сайт одновременно?

решение1

Вы не видите IP-адрес веб-браузера, netstatпотому что соединения идут из CloudFlare. Так работает CloudFlare.

Чтобы увидеть IP-адреса, вам нужно просмотреть логи nginx.

Связанный контент