ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ограничить location uri+агрум енты через limit req



Hello!

On Thu, Nov 04, 2010 at 03:48:45AM -0400, igor.goncharenko wrote:

> Вот такой вариант заработал:
> 
>     location /
>     {
>       proxy_pass          http://test.loc;
>       error_page 418 = @limit;
>       if ($args ~* command=test_command&PHPSESSID=.*) { return 418; }
>     }
> 
>      location @limit {
>      limit_req zone=test1 burst=5 nodelay;
>      }

В location @limit тоже, очевидно, нужен proxy_pass.

> Вопрос: насколько правильно
> использовать несуществующую ошибку 418

Код 418 официально существует.

http://tools.ietf.org/html/rfc2324#section-2.3.2

> вместо 417, ведь в данной конфигурации
> эта ошибка никогда не отдается клиенту,
> а используется только для лимита
> скорости?

Можно использовать любой код ошибки, главное чтобы он не мог 
возникнуть в данном location'е по другим причинам.

> И все-таки, нет ли другого варианта, без
> именованных локейшнов?

Нет.  Точнее - можно ещё использовать обычные location'ы вместо 
именованных.  Но придётся применять дополнительные приседания для 
передачи правильного uri на бекенд.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.