踩坑日记之nginx-limit-req

一般我们都认为nginx -t可以测试出配置文件是否配置正确。
其实不然~

limit_req_zone

1
limit_req_zone  $binary_remote_addr  zone=req_one:10m rate=1r/s

这是nginx配置速率限制的插件。具体可以自行查询相关资料。

当时原本设置的限制条件为$uri,测试的过程中,发现实际上$request_uri才是符合要求的限制条件,因而修改了配置,nginx -t测试顺利通过,nginx -s reload也没有任何报错。但是实际上,nginx worker并没有退出。

一开始还认为是worker承载的请求太多,以至于请求没能处理完毕,导师worker延迟退出。
直到多心去看了一眼日志,才发现,limit_req这个模块,在设置limit_req_zone的时候是无法修改限制条件的。

方法

只能够同时修改zone~~~