Nginx – 如何将具有特定IP的用户重定向到特殊页面

我运行了一个相当大的图片库,有5个访问者通过使用webcopiers每天下载整个网站创建了大量的流量.这些访问者看起来有静态IP.我想要实现的是,这些5个IP一旦访问该站点就被重定向到某个页面(这解释了为什么他们的行为有问题).所有其他访问者应该能够正常浏览网站.

服务器运行CentOS(5.8)和nginx(1.0.15)作为webserver.
有没有办法通过你知道的nginx.conf中的条目来实现这个目的?

非常感谢您的提示和支持!

亲切的问候
-Alex

最佳答案
Geo模块用于匹配客户端地址.您可以使用它来定义要测试的变量,如下所示:

geo $bad_user {
  default 0;
  1.2.3.4/32 1;
  4.3.2.1/32 1;
}

server {
  if ($bad_user) {
    rewrite ^ http://www.example.com/noscrape.html;
  }
}

这比针对$remote_addr运行正则表达式更有效,并且更易于维护.

转载注明原文:Nginx – 如何将具有特定IP的用户重定向到特殊页面 - 代码日志