Nginx is very effective at limiting queries using limit_req_zone and limit_req.
, . , , IP- , , ip . .
limit_req_zone key zone=name:size rate=rate;
. , . , , .
limit_req zone=name [burst=number] [nodelay];
, , 503 (Service Unvailable). , 204 ( ), .
limit_req_status code;
, 10 , 50 204 :
http {
....
limit_req_zone $hostname zone=limit:20m rate=10r/s;
limit_req_status 204;
server {
...
location / {
...
limit_req zone=limit burst=50;
}
}
}
, , , http. .
, "" = 10r/m (10 ) . , .
limit_req_zone , , IP- . , .