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