Я установил 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.