社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

Nginx黑名单功能

Py站长 • 11 年前 • 10806 次点击  

我们经常会需要把某个IP禁止不让访问我们的网站,下面我来给大家介绍在nginx中怎么实现禁止某个IP或某个IP段访问网站吧,有需要了解的朋友可参考

禁止单个IP的写法:

代码如下

deny x.x.x.x;

禁止IP段的写法:

代码如下

deny 10.0.0.0/24;

(子网掩码的说明:http://baike.baidu.com/view/878.htm)

也可以实现只允许某个IP或某个IP段用户访问,其它的用户全都禁止:

代码如下

allow x.x.x.x;
allow 10.0.0.0/24;
deny all;

规则按照顺序依次检测,直到匹配到第一条规则。

重新启动nginx即可生效,下面我们具体看实例

首先建立下面的配置文件放在nginx的conf目录下面,命名为blocksip.conf:

deny 95.105.25.181;    //这是nginx要禁止的IP

保存一下。

在nginx的配置文件nginx.conf中加入:include blocksip.conf;

重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了。

这样就达到了nginx禁止IP的效果

blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问:

代码如下

deny IP;
 allow IP;
 # block all ips
 deny all;
 # allow all ips
 allow all;

其中网段的写法是这样的:192.168.1.0/24这样的形式。

参考:http://nginx.org/cn/docs/http/ngx_http_access_module.html

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/453
 
10806 次点击