如何配置Nginx拒绝来自可疑主机的连接?

时间:2018-09-28 12:40:33

标签: nginx nginx-config

我使用Nginx处理HTTP请求。在访问日志检查期间,我发现了来自同一IP地址的许多可疑请求。 我想将Nginx配置为拒绝来自该主机的连接。我不认为会有很多主机,因为这是多年来的第一台主机。

1 个答案:

答案 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;。随附文件中的语法必须与上面相同。