创建mylimit规则,根据用户的IP限流,限流的速率是1个请求每秒
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

应用mylimit规则,burst=1当1秒内存在2个请求可以缓存一个,其他的请求就报错,当burst很多时候,nodelay让后面的请求直接执行不用排队
limit_req zone=mylimit burst=1 nodelay;

503限流返回默认值
error_page 503 = /503;
location /503 {
default_type application.json;
add_header Content-Type ‘application/json; charset-utf-8’;
return 200 ‘{“code”:0,”data”:{},”msg”:”Limit Flow”}’;
}

发表评论