Коллеги, добрый день!
Нужна помощь по конфигу nginx’а.
Задумка следущая: «всё то, что идёт в апстрим (не статика), лимитируется 1000 запросами в минуту на уникальный IP адрес, остальные запросы уходят в статус 556»
limit_req_zone $binary_remote_addr zone=main:30m rate=1000r/m;
location / {
try_files $uri @upstream;
}
location @upstream {
limit_req zone=main;
limit_req_status 556;
...
}
Проблема следущая: рандомные запросы бодро улетают в 556, при этом всего от IP-адреса, который улетел в 556, 36 запросов ЗА СУТКИ (!):
{"remote_addr":"51.79.xxx.xx","remote_user":"-","time_local":"21/May/2025:08:09:50 +0000","host":"host.name","request":"GET / HTTP/2.0","status":"556","body_bytes_sent":"0","http_referer":"-","http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","request_time":"0.000"}
root@www7:~# grep 51.79.xxx.xx /var/log/nginx/host.name.access.log|wc -l
36
ЧЯДНТ?
update: подсказали про опцию burst, будем посмотреть.