我使用Nginx处理HTTP请求。在访问日志检查期间,我发现了来自同一IP地址的许多可疑请求。 我想将Nginx配置为拒绝来自该主机的连接。我不认为会有很多主机,因为这是多年来的第一台主机。
答案 0 :(得分:0)
基本上,这就是Nginx geo-ip模块的工作方式,我做了类似的事情,将我的网站上的Google搜寻器列入白名单。
在您的http
块中定义一个geo
指令,并添加您要阻止的CIDR ip范围:
geo $badips {
default 0;
64.233.160.0/19 1;
66.102.0.0/20 1;
...
}
对于来自那些IP地址的请求,这会将变量$badips
的值设置为1
。
然后在您的server
块中,在任何location
块之前,添加:
if ($badips) {
return 444;
}
重新加载Nginx就是这样,触发$bdips
设置为1的请求将是服务器的444响应代码(您可以根据需要将其更改为另一个)。
如果要将禁用的地址保留在其他文件中,则可以执行此操作,并且可以在geo
指令内添加include path/to/file;
。随附文件中的语法必须与上面相同。