<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">ср, 3 окт. 2018 г. в 17:36, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
On Wed, Oct 03, 2018 at 01:23:46PM +0500, Илья Шипицин wrote:<br>
<br>
> ср, 3 окт. 2018 г. в 12:11, Roman Arutyunyan <<a href="mailto:arut@nginx.com" target="_blank">arut@nginx.com</a>>:<br>
> <br>
> > On Wed, Oct 03, 2018 at 08:10:13AM +0300, Alexander Azarov wrote:<br>
> > > Здравствуйте!<br>
> > ><br>
> > > У меня вопрос про mirror. Он у меня срабатывает, только если в локейшне<br>
> > > есть proxy_pass. Если там rewrite..redirect или return, то подзапрос не<br>
> > > случается, в логе совсем пусто (даже в debug логе). Так и должно быть?<br>
> > Если<br>
> > > да, то может быть имеет смысл что-то в лог писать, а то нелогично как-то<br>
> > > получается, директива в конфиге есть, а действия никакого нет.<br>
> ><br>
> > Миррор создается в фазе precontent, а rewrite и return - на более ранней<br>
> > фазе<br>
> > rewrite. В вашем случае запрос завершается в фазе rewite и не доходит до<br>
> > фазы precontent, в которой создается mirror. Дело тут не в proxy_pass, а<br>
> > в rewrite/return. Если бы в локейшене просто отдавалась статика, то mirror<br>
> > бы также работал. Непонятно что можно в этом случае писать в лог, если<br>
> > запрос просто завершается на более ранней стадии.<br>
> ><br>
> <br>
> я наверное, неправильно поступлю. но у меня два вопроса ))<br>
> <br>
> 1) мы игрались с mirror - штука годная. но когда мы хотели ее подебажить,<br>
> мы добавили access_log, в него ничего не записалось. мы включили снифер -<br>
> запросы увидели. не совсем понятно, лог можно указать, с точки зрения nginx<br>
> директива access_log в локейшене миррора не является ошибкой. но не<br>
> логирует. надо доки читать. оченьсложна<br>
<br>
Mirror использует подзапросы, аналогично SSI и add_after_body. <br>
Подзапросы рассматриваются как часть основного запроса, и отдельно <br>
логгируются, только если это специально разрешить, <br>
<a href="http://nginx.org/r/log_subrequest" rel="noreferrer" target="_blank">http://nginx.org/r/log_subrequest</a>.<br>
<br></blockquote><div><br></div><div>т.е. это гибкость ? могу в локейшене с митррором указать access_log, не указать логирование подзапросов, и ничего</div><div>логироваться не будет ? с какой целью заложено такое ?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> 2) вот допустим, у меня точка, на которую я делаю зеркалирование -<br>
> тормозная. то соединения не устанавливаются, то запросы подтупливают... не<br>
> будет ли это приводить к деградации воркера ?<br>
<br>
Подзапрос mirror'а выполняются параллельно основному запросу. <br>
Однако если он не успеет завершиться к моменту окончания основного <br>
запроса - это завершение запроса задержит, и соответственно <br>
задержит последующие запросы в этом же соединении в случае <br>
постоянных соединений в HTTP/1.x. То есть плохо работающий <br>
mirror-бэкенд - может увеличивать latency.<br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div></div>