У меня здесь веб-сервер Nginx 1.2.4, и я сижу за прокси своего хостера, чтобы предотвратить ddos-атаки. Недостатком использования этого прокси-сервера является то, что мне нужно получить РЕАЛЬНУЮ информацию об IP-адресе из дополнительного заголовка. В PHP это прекрасно работает, например, при выполнении $_SERVER[HTTP_X_REAL_IP]
.
Теперь, прежде чем я оказался за этим прокси моего хостера, у меня был очень эффективный способ блокировать определенные IP-адреса, делая это: include /etc/nginx/block.conf
и разрешать/запрещать IP-адреса.
Но теперь из-за прокси Nginx видит весь трафик, идущий с 1 IP.
Я настроил Nginx с помощью --with-http_realip_module
, поэтому теперь я могу получать реальные IP-адреса от людей.
В моем nginx.conf я добавил:
real_ip_header X-Forwarded-For;
include blockips.conf;
Я также пробовал:
real_ip_header X-Real-IP;
include blockips.conf;
В обоих случаях IP-адреса, указанные в blockips.conf, не блокируются. Также в моих файлах журналов я не вижу реальных IP-адресов, а отображается только IP-адрес прокси.
Что я делаю не так?