拒绝访问同一目录中的多个域

时间:2015-02-11 23:07:00

标签: nginx restriction

我有很多域名。在nginx中配置为虚拟主机。它们都有相同的文档根。我想限制访问大量不同的IP。有没有办法在最高级别然后进行虚拟主机配置?例如,在主http {}块中。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用ngx_http_geo_module阻止某些IP访问您的虚拟主机。此模块可帮助您使用基于客户端IP地址的值创建变量。您可以在http级别定义​​IP。这是一个例子。

http {

    geo $spamers {
          # --allow all --
          default no;
          #-- block these bad ips --
          192.0.171.118 spam; 
          192.0.179.119 spam;
          192.0.179.120 spam; 
          192.128.168.0/20 spam; 
    }

您可以添加所需数量的IP,然后在要限制这些IP的服务器的位置块中添加支票

location ~* /mysite/www/ {
    if ( $spamers = spam ) {
       # -- Return a forbidden message 
       return 403;
   }