ПРОЕКТЫ 


  АРХИВ 


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: Разница между OK и DECLINED



Hello!

On Wed, Jan 26, 2011 at 12:09:52PM +0200, Дмитрий Бежнар wrote:

> Здравствуйте,
> 
> помогите разобраться между OK и DECLINED при возврате с perl.
> 
> Как я понимаю что при OK - останавливает выполнение, а DECLINED
> продолжает выполнение.
> 
> Соотвественно:
> 
> локейшн
> 
> location / {
>         perl  hello::handler;
> .        fastcgi_pass   127.0.0.1:9000;
>         include        fastcgi_params;
>     }
> 
> и
> sub handler {
>     my $r = shift;
>     $r->send_http_header("text/html");
>     $r->print("hello2!\n<br/>");
> 
>     return OK;
> }
> 
> должен отдать клиенту хело, а если вернуть DECLINED, то должен
> выполнить fastcgi.
> 
> Но у меня не останавливается выполнение при OK.
> Так и должно быть или ...

И perl, и fastcgi_pass - определяют безусловные обработчики для 
location'а.  Какой из них будет работать - определяется тем, какая 
директива указана последней в конфиге.

В приведённом выше конфиге будет работать fastcgi, perl даже и не 
позовётся.

Возврат DECLINED позволяет передать управление стандартной цепочке 
модулей, зарегистрированных в content-фазе (random_index, index, 
autoindex, dav, gzip_static, static).  Из perl'а в fastcgi так 
передать управление нельзя.

Maxim Dounin

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


 




Copyright © Lexa Software, 1996-2009.