Nginx限制IP访问次数的问题

weixin_35893241 2016-08-17 11:11:52
最近有个需要,对部署的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 (这个方法是我瞎尝试的),发现达不到预期目的,表象是同一条指令先配置的先生效,另外配的同一条指令不同参数不生效。

请问有什么办法可以达到我想要的目的?谢谢!
...全文
229 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,658

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧