Я хотел бы установить ограничение на количество запросов, которые один клиентский IP-адрес может отправить моему серверу, на основе их IP-адреса. Nginx имеет limit_req_zone
директива. Однако эта директива фактически ограничит средний хиты. Если я установлю свой предел rate=6r/m
, на самом деле он будет допускать только одно попадание каждые 10 секунд.
Вместо этого мне нужен фактический лимит в минуту. Например. клиент должен иметь возможность отправлять 3 или 4 запроса быстро один за другим или даже одновременно, но не более чем, например, 10 в минуту. Есть ли способ сделать это?
Я думаю, это можно сделать с помощью nodelay
настройку, как описано в нижней части limit_req вики:
Если в задержке лишних запросов в пакете нет необходимости, вам следует использовать опцию без задержки:
limit_req zone=one burst=5 nodelay;