nginx 屏蔽 ip 的两种方法
网站的cpu负载比较高,查看日志发现,有几个ip访问量特别大,并且访问的都是一些奇奇怪怪的地址。需要屏蔽到这些地址。
nginx 屏蔽地址
- 使用 deny 进行配置
- 使用 $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 表示直接终端连接,不返回任何内容。