nginx禁止某个IP或者IP段访问,可以修改nginx的配置文件,在配置文件的server信息中增加deny字段进行操作。

比如如果我们要封禁47.101.221.104这个ip,则只需要

server {
    listen       80;
    server_name  localhost;
    allow all;

    deny 47.101.221.104; # 封禁ip
}

如果要解封ip,可以删除deny信息或者使用allow字段

server {
    listen       80;
    server_name  localhost;
    allow all;

    allow 47.101.221.104; # 解封ip
}

如果要封禁IP段,修改后面的ip信息即可,比如

  • 如果要封禁47.101.101.0 ~ 47.101.101.254这个段的ip,则使用deny 47.101.101.0/24
  • 如果要封禁47.101.0.1 ~ 47.101.255.254这个段的ip,则使用deny 47.101.0.0/16
  • 如果要封禁47.0.0.1 ~ 47.255.255.254这个段的ip,则使用deny 47.0.0.0/8
  • 如果要封禁所有IP,则使用deny all

参考