http://blog.csdn.net/flower_vip/article/details/53034380

Nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段 
语法: 
deny IP; (注:分号是必须的) 
拒绝 某个或某段ip访问 例如; deny 127.1.1.1 或 deny 127.1.1.1/24后者为一个ip段


allow IP; 
允许 某个或某段ip访问


那么问题来了我们实际当中是如何使用的呢?下面来具体说一下。 
比如我的Nginx安装目录是在 usr/local/Nginx,那么我们就可以cd到这个目录下然后进入conf文件会看到nginx.conf文件。(conf文件夹下一般会有好多配置文件,就项目而言。)我们需要在这个配置文件下进行配置我们的封IP方法。进入正题 
这里写图片描述
我们使用cat命令查看一下这个nginx.conf会看到有一段代码include ip.black;【加粗斜体】 
user ftp; 
worker_processes 4;


worker_rlimit_nofile 1024; 
events { 
use epoll; 
worker_connections 1024; 
}


http { 
include mime.types; 
default_type application/octet-stream; 
include ip.black; 
log_format yundns_log ‘servernameremote_addr [timelocal]"request” $status


#access_log  logs/access.log  main;


server_tokens off;
sendfile        on;
tcp_nopush     on;
这个被导入进来的ip.black文件就是我们的黑名单也就是要禁止访问的ip地址。那么ip.black文件是如何定义的呢? 
deny 1.1.1.1 ; 
deny 2.2.2.2; 
deny 3.3.3.3; 
。。。。 
这里的ip.black文件里面就是使用了deny这个关键字+ip或ip段来进行配置的,再次声明要加分号!!要不然会报错。 
当然同理我们也可以使用ip.white文件配置我们的白名单 
allow 4.4.4.4; 
….. 
这里我使用了一个文件来定义我的黑名单,并使用include导入到nginx.conf配置文件中当然也可以直接写到nginx.conf配置文件里面。 
当我们配置好后要重新reload一下nginx服务,把我们刚加的配置reload进入。 
/usr/local/nginx/sbin/nginx -s reload 
这样就OK了 分分钟解决禁止IP访问的问题。 
对了当配置好黑名单或白名单后可以使用 
/usr/local/nginx/sbin/nginx -t 
命令来校验语法对不对如果出现: 
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok 
configuration file /usr/local/nginx/conf/nginx.conf test is successful 
那表示正确。 
参考地址:http://outofmemory.cn/code-snippet/3393/nginx-deny-ip-or-deny-network-subnets

你可能感兴趣的:(http://blog.csdn.net/flower_vip/article/details/53034380)