Re: ngx http limit req module и реальное применение
Maxim Dounin
mdounin на mdounin.ru
Пн Июл 18 09:29:11 UTC 2011
Hello!
On Mon, Jul 18, 2011 at 05:27:10AM -0400, vagner wrote:
> Сделал так:
> http {
> (...)
> geo $white{
> default 0;
> include /etc/white;
> }
>
> geo $black{
> default 0;
> include /etc/black;
> }
> limit_req_zone $binary_remote_addr zone=beta:10m rate=1r/s;
>
> server {
> (...)
> error_page 418 = @php_limit;
>
> location ~ \.php$ {
> if ($black) {
> return 418;
> }
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
> /home/hg/repos/hg.books.ilovexq.ru/pages$fastcgi_script_name;
> include fastcgi_params;
> }
> location php_limit {
- location php_limit {
+ location @php_limit {
> limit_req zone=black nodelay;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
> /home/hg/repos/hg.books.ilovexq.ru/pages$fastcgi_script_name;
> include fastcgi_params;
> }
> }
>
> Это срабатывает, но только для $black
> отдает 500 код:(
Потому что у вас нет location'а @php_limit, в котором должны
обрабатываться запросы от $black.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru