Welcome! Log In Create A New Profile

Advanced

Re: порядок прохождения http-фаз сервера

Oleg
March 18, 2013 12:44PM
On Mon, Mar 18, 2013 at 08:00:55PM +0400, Maxim Dounin wrote:
> Hello!
>
> > А http-redirect может только модуль фазы NGX_HTTP_CONTENT_PHASE слать или с
> > фазы NGX_HTTP_ACCESS_PHASE тоже можно слать перенаправления?
>
> Можно из любой фазы (но может требовать дополнительных
> приседаний).

Хм, думал есть какой-либо "правильный" способ, так сказать.

> > И ещё вопрос. Здесь - http://www.evanmiller.org/nginx-modules-guide.html -
> > написано, что хэндлер контента может быть только один и вешается так:
> >
> > clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);
> > clcf->handler = ngx_http_circle_gif_handler;
>
> Так вешаются content-обработчики, вызываемые для данного
> location'а. Такие обработчики делать - проще всего, и в
> большинстве случаев именно они и нужны. Опять же, такие
> обработчики - никак не влияют на обработку запросов в других
> location'ах. Именно так работает proxy_pass (+ memcached,
> fastcgi, uwsgi, scgi), empty_gif, stub_status, perl и т.п.
>
> Но это не всё, что бывает в content-фазе. Если clcf->handler не
> стоит, или отказался от обработки запроса, то последовательно
> вызываются модули content-фазы, такие как random_index, index,
> autoindex, static.
>
> > Про хэндлеры фаз обработки запроса там, кстати, я ничего не нашёл.
> > Вопрос в чём. Можно ли повесить несколько handler'ов содержимого через
> > фазу обработки запроса NGX_HTTP_CONTENT_PHASE? И можно ли это сделать так,
> > что бы он вызывался гарантировано до proxy_pass?
> > Тогда, я могу там делать http-redirect на основе переменных, допустим.
>
> Нет, так работать не будет. Если стоит clcf->handler - то на
> обротчики content-фазы смотреть никто не будет. Если вам нужно
> своим модулем проверить результат работы модуля access-фазы, то
> это надо делать в access-фазе же (и при этом убедившись, что
> satisfy стоит в all).

Большое спасибо за разъяснения. Думаю городить ещё модуль нет смысла в
моём случае. Надо всё в одном модуле делать.

> Загляните в ngx_http_core_module.c, там всё более или менее
> понятно.

Спасибо за указание направления. Попытаюсь там что-нибудь накопать.

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

порядок прохождения http-фаз сервера

Oleg March 18, 2013 09:30AM

Re: порядок прохождения http-фаз сервера

Maxim Dounin March 18, 2013 09:42AM

Re: порядок прохождения http-фаз сервера

Oleg March 18, 2013 10:40AM

Re: порядок прохождения http-фаз сервера

Maxim Dounin March 18, 2013 10:54AM

Re: порядок прохождения http-фаз сервера

Oleg March 18, 2013 11:42AM

Re: порядок прохождения http-фаз сервера

Maxim Dounin March 18, 2013 12:02PM

Re: порядок прохождения http-фаз сервера

Oleg March 18, 2013 12:44PM

Re: порядок прохождения http-фаз сервера

Oleg March 18, 2013 02:54PM

Re: порядок прохождения http-фаз сервера

Maxim Dounin March 19, 2013 06:56AM

Re: порядок прохождения http-фаз сервера

Oleg March 19, 2013 07:30AM

Re: порядок прохождения http-фаз сервера

Maxim Dounin March 19, 2013 08:44AM

Re: порядок прохождения http-фаз сервера

Oleg March 19, 2013 09:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 137
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready