limit_req_zone访问次数
http段
#perip为自定义名称,10m为占用空间大小
#rate后为请求频率 1r/s为每秒一次,1r/m每分钟一次,必须为整数
limit_req_zone $binary_remote_addr zone=perip:10m rate=1r/s;
limit_req_zone $server_name zone=perserver:10m rate=10r/s;
server段
location /url {
#perip,perserver为上面定义名字 burst为缓冲区 nodelay为立刻处理
limit_req zone=perip burst=5 nodelay;
limit_req zone=perserver burst=10;
limit_req_status 503;
}
limit_conn_zone访问频率
http段
#IP限制
limit_conn_zone $binary_remote_addr zone=perip:10m;
#server限制
limit_conn_zone $server_name zone=perserver:10m;
http、server、location段
limit_conn perip 10;
limit_conn perserver 100;
#限流返回码
limit_conn_status 503;