Re: Не срабатывает limit_conn и limit_req?

denis denis at webmaster.spb.ru
Mon Mar 4 12:55:44 UTC 2013


04.03.2013 14:45, Ruslan Ermilov пишет:
> Как вариант, можно определить отдельный URI для 302, который
> будет представлен статическим файлом, и задать желаемое ограничение
>   там:
В Вашем варианте на php файл почему-то отдавало его содержание вместо 
выполнения.
Что получилось в итоге:
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;

limit_req_zone  $server_name zone=lreq:10m   rate=1r/s;
location = /redir.php {
   error_page 302 /error.php;
   recursive_error_pages on;
   return http://ext-site.ru/content;
}

location = /error.php {
   internal;
   limit_req   zone=lreq  burst=1;
   error_page 503 =302 https://ext-site.ru/sorry.php;
}
хотя странно, что хотело наличие этого error.php на диске, но в таком 
варианте редирект и наружу работает.
Проверка через
ab -k -v 2 -c 10 -n 100 site.ru/redir.php|grep Location|sort|uniq -c
показало, что всё норм.

Спасибо за помощь!



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