Welcome! Log In Create A New Profile

Advanced

Re: mirror только *_pass

Maxim Dounin
October 03, 2018 11:28AM
Hello!

On Wed, Oct 03, 2018 at 08:04:25PM +0500, Илья Шипицин wrote:

> ср, 3 окт. 2018 г. в 17:36, Maxim Dounin <mdounin@mdounin.ru>:
>
> > Hello!
> >
> > On Wed, Oct 03, 2018 at 01:23:46PM +0500, Илья Шипицин wrote:
> >
> > > ср, 3 окт. 2018 г. в 12:11, Roman Arutyunyan <arut@nginx.com>:
> > >
> > > > On Wed, Oct 03, 2018 at 08:10:13AM +0300, Alexander Azarov wrote:
> > > > > Здравствуйте!
> > > > >
> > > > > У меня вопрос про mirror. Он у меня срабатывает, только если в
> > локейшне
> > > > > есть proxy_pass. Если там rewrite..redirect или return, то подзапрос
> > не
> > > > > случается, в логе совсем пусто (даже в debug логе). Так и должно
> > быть?
> > > > Если
> > > > > да, то может быть имеет смысл что-то в лог писать, а то нелогично
> > как-то
> > > > > получается, директива в конфиге есть, а действия никакого нет.
> > > >
> > > > Миррор создается в фазе precontent, а rewrite и return - на более
> > ранней
> > > > фазе
> > > > rewrite. В вашем случае запрос завершается в фазе rewite и не доходит
> > до
> > > > фазы precontent, в которой создается mirror. Дело тут не в
> > proxy_pass, а
> > > > в rewrite/return. Если бы в локейшене просто отдавалась статика, то
> > mirror
> > > > бы также работал. Непонятно что можно в этом случае писать в лог, если
> > > > запрос просто завершается на более ранней стадии.
> > > >
> > >
> > > я наверное, неправильно поступлю. но у меня два вопроса ))
> > >
> > > 1) мы игрались с mirror - штука годная. но когда мы хотели ее подебажить,
> > > мы добавили access_log, в него ничего не записалось. мы включили снифер -
> > > запросы увидели. не совсем понятно, лог можно указать, с точки зрения
> > nginx
> > > директива access_log в локейшене миррора не является ошибкой. но не
> > > логирует. надо доки читать. оченьсложна
> >
> > Mirror использует подзапросы, аналогично SSI и add_after_body.
> > Подзапросы рассматриваются как часть основного запроса, и отдельно
> > логгируются, только если это специально разрешить,
> > http://nginx.org/r/log_subrequest.
> >
> >
> т.е. это гибкость ? могу в локейшене с митррором указать access_log, не
> указать логирование подзапросов, и ничего
> логироваться не будет ? с какой целью заложено такое ?

Заложено - то, что подзапросы не логгируются. Смысла их
логгировать - в подавляющем большинстве случаев нет, они
неразрывно связаны с основным запросом и отдельного интереса не
представляют.

То есть в access_log логгируются запросы, полученные от клиентов,
и результат выполнения этих запросов. А не некие внутренние
сущности, которые nginx породил в процессе обработки этих
запросов, и у которых нет ни своего ip-адреса клиента, ни своей
строки запроса, ни своих заголовков запроса, ни даже, строго
говоря, своих заголовков ответа.

Если очень хочется эти внутренние сущности таки увидеть - есть
ручка log_subrequest, которая позволяет это сделать. Но надо
понимать, что результат может оказаться несколько не такой, как
ожидалось, потому что смотри выше - собственной информации у этих
подзапросов очень немного, и, скажем, log-формат по умолчанию -
непригоден для их логгирования чуть менее, чем полностью.

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

mirror только *_pass

Alexander Azarov October 03, 2018 01:12AM

Re: mirror только *_pass

Илья Шипицин October 03, 2018 01:26AM

Re: mirror только *_pass

Alexander Azarov October 03, 2018 01:28AM

Re: mirror только *_pass

Roman Arutyunyan October 03, 2018 03:12AM

Re: mirror только *_pass

Alexander Azarov October 03, 2018 03:46AM

Re: mirror только *_pass

Andrey Oktyabrskiy October 03, 2018 03:50AM

Re: mirror только *_pass

Илья Шипицин October 03, 2018 04:26AM

Re: mirror только *_pass

Alexander Azarov October 03, 2018 04:36AM

Re: mirror только *_pass

Maxim Dounin October 03, 2018 08:38AM

Re: mirror только *_pass

ALex_hha October 03, 2018 08:50AM

Re: mirror только *_pass

Maxim Dounin October 03, 2018 10:38AM

Re: mirror только *_pass

Илья Шипицин October 03, 2018 11:06AM

Re: mirror только *_pass

Maxim Dounin October 03, 2018 11:28AM

Re: mirror только *_pass

Maxim Dounin October 03, 2018 08:20AM

Re: mirror только *_pass

Alexander Azarov October 04, 2018 06:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 234
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