在哪里放置Nginx IP黑名单configuration文件?

我有一个Nginx Web服务器托pipe两个网站。 我创build了一个blockips.conf文件,将IP地址列入黑名单,这些IP地址会不断探测服务器,并将其包含在nginx.conf文件中。 然而,在我的网站的访问日志,我仍然看到这些IP地址出现。 我是否需要在每个站点的conf中包含黑名单,而不是Nginx的全局configuration文件?

这是我的nginx.conf

 user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; # Load virtual host configuration files. include /etc/nginx/sites-enabled/*; # BLOCK SPAMMERS IP ADDRESSES include /etc/nginx/conf.d/blockips.conf; } 

blockips.conf

 deny 58.218.199.250; 

access.log仍然显示这个IP地址。

 58.218.199.250 - - [27/Sep/2012:06:41:03 -0600] "GET http://59.53.91.9/proxy/judge.php HTTP/1.1" 403 570 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" "-" 

我做错了什么?

看着你的日志,它阻止了stream量,有一个403头 – 即。 拒绝访问。

我build议把你的黑名单放在iptables中:) iptables -A INPUT -s 58.218.199.250 -j DROP这样你就不会花费资源处理来自不需要的IP地址的请求。