我在这里运行一个 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;
在这两种情况下,blockips.conf 中列出的 IP 都不会被阻止。同样在我的日志文件中,我没有看到真实的 IP,但只显示了代理 IP。
我究竟做错了什么?