weixin_35893241
2016-08-17 03:32
采纳率: 0%
浏览 1.9k

Nginx限制IP访问次数的问题

最近有个需要,对部署的Nginx进行ip限制,具体要求是要做到把ip分成2~3组,每一组的访问Nginx频率都可以不一样。
经过查找资料,目前我在Nginx的配置如下:

http{
...
   geo $whitelist{
       default 1;
       192.168.1.100; #假设客户机ip是这个
    }
    map $whitelist $limit{
      1 $binary_remote_addr;
      0 "";
    }
   limit_req_zone $limit zone=one:10m rate=1r/s;
   server{
        ...
       limit_req zone=one burst nodelay;
   }
}

(请忽略以上手打造成的拼写错误)
现在可以做到的是配置里的白名单生效,其他的根据漏桶算法来503拒绝异常的请求,但是还做不到对IP进行分组。
于是乎,我又配置了另一条geo 另一条 map 另一条 limit_req_zone 另一条limit_req (这个方法是我瞎尝试的),发现达不到预期目的,表象是同一条指令先配置的先生效,另外配的同一条指令不同参数不生效。
请问有什么办法可以达到我想要的目的?谢谢!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题