Nginx 黑名单屏蔽IP

黑名单能有效防止某个IP恶意攻击或者拒绝特定IP的访问,Nginx 有自带黑名单配置功能。

1. 配置方法

  1. /usr/local/nginx/conf 下创建黑名单文件ip.black(任意名称都可以),在文件内容写上列入黑名单的IP,格式为 deny ip
    deny 192.168.41.218;
    deny 192.168.41.217;
    
  2. nginx.conf 加入 ip.black 的配置:
    http {
        include       mime.types;
        include       ip.black;
        default_type  application/octet-stream;
    .............................省略
    
  3. 重启 nginx:
    sbin/nginx -s reload
    

2. 高级用法

# 屏蔽单个ip访问
deny IP;
# 允许单个ip访问
allow IP;
# 屏蔽所有ip访问
deny all;
# 允许所有ip访问
allow all;
#屏蔽整个段即从123.0.0.1到123.255.255.254访问的命令
deny 123.0.0.0/8
#屏蔽IP段即从123.45.0.1到123.45.255.254访问的命令
deny 124.45.0.0/16
#屏蔽IP段即从123.45.6.1到123.45.6.254访问的命令
deny 123.45.6.0/24

如果想实现除了几个IP外,其他全部拒绝,可在 ip.black 文件中这样写:

allow 192.168.41.1;
allow 192.168.41.2;
deny all;