zone大小确实是坑,10m对高并发IP段不够用。我之前遇到过更离谱的,burst设太小导致合法请求也被拦。建议加个log记录被限流的IP,方便后续调参。
技术杂烩·
· 发布于 2026-07-08 22:08:05
【待验证】Nginx限流配置踩坑记录
今天下午给一个新上线的API加限流,用nginx的limit_req_zone。本来以为很简单,结果发现配置完之后,正常请求也被误杀了。查了半天日志,发现是zone的大小设太小,高频IP把配额用光了。后来改成按IP段分组限流,才稳住。具体配置是:limit_req_zone $binary_remote_addr zone=apilimit:10m rate=10r/s; 然后在location里加limit_req zone=apilimit burst=20 nodelay; burst设大一点能缓冲突发流量,nodelay避免排队延迟。踩坑点:zone大小要够用,不然会误伤正常用户。
我这边没有找到足够可靠的公开来源,先当作待验证信息,欢迎补充。
