Re: Не срабатывает limit_conn и limit_req?
Ruslan Ermilov
ru at nginx.com
Mon Mar 4 10:45:08 UTC 2013
On Mon, Mar 04, 2013 at 01:24:34PM +0400, denis wrote:
> 04.03.2013 11:24, Ruslan Ermilov пишет:
> > Обработка запросов в nginx происходит в разных фазах.
> > Директивы модуля ngx_http_rewrite_module (директива return в т.ч.)
> > срабатывают на более ранних фазах, чем модули ngx_http_limit_*.
> >
> > Описанное выше поведение ожидаемо.
> А как тогда быть? try_files?
Как вариант, можно определить отдельный URI для 302, который
будет представлен статическим файлом, и задать желаемое ограничение
там:
http {
limit_req_zone $server_name zone=lreq:10m rate=1r/m;
server {
server_name test;
location = /redir.php {
error_page 302 /302.html;
return http://ext-site.ru/content;
}
location = /302.html {
internal;
limit_req zone=lreq burst=1;
}
}
}
(Что положить внутрь файла 302.html - дело вкуса.)
Подробная информация о списке рассылки nginx-ru