nginx limit_req_zone并发限制reload不成功

背景:

在原来并发限制的需求下,增加白名单并发限制,所以需要更改对应的key

更改前:

在这里插入图片描述
参数解释:
桶空间10m,10M能保持大约16万个(IP)状态
速率rate=100,峰值burst=25,不延迟请求
加了nodelay之后,漏桶控制一段时长内的平均qps = 漏桶速率,允许瞬时的峰值qps > 漏桶qps ,所以峰值时的最高qps=(brust+qps-1)=124,请求不会被delay,要么处理,要么直接返回503

更改后:

在这里插入图片描述
参数解释:
geo指令为该模块创建变量,其值取决于客户端的 IP 地址。定义了一个白名单 $limited 变量,该模块创建变量,其值取决于客户端的 IP 地址,设定默认值设为1,对应 ip 段设置设为0
map指令是设置一个映射表。映射表由两列组成,分别为匹配模式和对应的值。

问题

更改完后对该配置进行重载

nginx -t && nginx -s reload

并没有进行报错
但是经过测试,配置并没有生效
就查看nginx进程时间是否为重载的时间

ps -ef | grep nginx

查看进程时间得知,并没有重载成功
再查看一下nginx日志

tail /var/log/nginx/error.log

在这里插入图片描述
日志信息说明,并发限制的zone 的key 更改了,因为是使用了和之前配置不一样的key,导致无法正常加载成功
解决:
1、因为 “allipss” 这个zone 更改了 key, 导致 nginx -s reload 无法生效,但是重启nginx服务即可,一般线上业务能不重启就不重启,所以可以考虑第二种方案

2、更改 zone 的名字,zone = “allipp_new” ,这样就不属于更改key , nginx -s reload 就可以生效

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值