nginx 屏蔽 ip 的两种方法

网站的cpu负载比较高,查看日志发现,有几个ip访问量特别大,并且访问的都是一些奇奇怪怪的地址。需要屏蔽到这些地址。

nginx deny 返回 403
nginx deny 返回 403

nginx 屏蔽地址

  1. 使用 deny 进行配置
  2. 使用 $remote_addr 在 server 进行配置

使用 deny 进行配置

http://nginx.org/en/docs/http/ngx_http_access_module.html

使用的格式很简单,可以写在一个单独的一个文件中,需要了直接引入。

deny x.x.x.x
deny x.x.x.x
deny x.x.x.x

也可以直接放到 server 可以可以放到 http 中。 前者对特定的网站有效,后者对服务器上全部网站生效。

使用 $remote_addr 在 server 进行配置

    if ( $remote_addr = "x.x.x.x") {
       return 444;
    }

两这个的区别

使用deny 返回的 403 代码,表示禁止访问。 通过 $remote_addr 返回的状态吗可以灵活一点。直接使用444 。直接返回 444 在 nginx 表示直接终端连接,不返回任何内容。