limit_req_zone на конкретный url

denis denis at webmaster.spb.ru
Sun Dec 29 23:25:11 UTC 2013


Приветствую.

Есть необходимость ограничить обращения к конкретному урлу, причём не 
учитывая аргументов. То есть что-то вроде
limit_req_zone $server_name$uri zone=one:10m 5r/m;

location = /lalala {
...
limit_req zone=one nodelay;
}

при этом все ссылки вида /lalala?aaa=bbb также должны обработаться. 
Корректна ли конструкция $server_name$uri ? И как описывать путь до "?"

И попутно такой вопрос: точно ли r/m работает корректно? Есть 
подозрение, что оно работает неправильно...
прописана зона с описанием
limit_req_zone $server_name zone=one:10m 5r/m;
location тот же. Должны первые 5 запросов пропустить, остальные в 
течении минуты - срезать. По факту - уже даже 2 может быть срезан, что 
нам вообще не подходит. При этом запрос через 10с - может быть 
успешным.. Тесты на выделенном сервере, с перезапущенным через 
stop+start сервисом, чтобы исключить кэши.

nginx 1.4.4



Подробная информация о списке рассылки nginx-ru