limit_req_status
语法: limit_req_status code;
默认值: limit_req_status 503;
配置段: http, server, location
该指令在1.3.15版本引入。设置拒绝请求的响应状态码。
limit_req
语法: limit_req zone=name [burst=number] [nodelay];
默认值: —
配置段: http, server, location
设置对应的共享内存限制域和允许被处理的最大请求数阈值。 如果请求的频率超过了限制域配置的值,请求处理会被延迟,所以所有的请求都是以定义的频率被处理的。 超过频率限制的请求会被延迟,直到被延迟的请求数超过了定义的阈值,这时,这个请求会被终止,并返回503 (Service Temporarily Unavailable) 错误。这个阈值的默认值为0。如:
limit_req_zone $binary_remote_addr zone=creq:10 mrate=1r/s;
server{
location /www.baidu.com/{
limit_req zone=creq burst=5;
}
}
限制平均每秒不超过一个请求,同时允许超过频率限制的请求数不多于5个。
如果不希望超过的请求被延迟,可以用nodelay参数,如:
limit_req zone=ttlsa_com burst=5 nodelay;
完整实例配置
http{
limit_req_zone $binary_remote_addr zone=creq:10m rate=1r/s;
server{
location ^~/download/{
limit_req zone=creq burst=5;
data/www.baidu.com/download/;
}
}
}
可能要对某些IP不做限制,需要使用到白名单。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。








