умное проксирование

Maxim Dounin mdounin at mdounin.ru
Fri May 15 13:15:00 MSD 2009


Hello!

On Fri, May 15, 2009 at 11:02:03AM +0400, Илья Винокуров wrote:

> 
> 
> -----Original Message-----
> From: Maxim Dounin <mdounin at mdounin.ru>
> > On Thu, May 14, 2009 at 07:24:04PM +0400, Борис Долгов wrote:
> > 
> > > Добрый день, nginx-ru!
> > > Хотелось бы задать вопрос.
> > > Предположим, у нас есть некоторый fastcgi-бекенд. Он возвращает
> > > X-Accel-Redirect на location, настроенный на проксирование и X-Send-Cookie,
> > > который надо при проксировании отдать второму бекенду. Будет ли nginx
> > > отдавать куку второму бекенду, если прописать в конфиг "proxy_set_header
> > > Cookie $http_x_send_cookie;"?
> > 
> > Нет.
> > 
> > Заголовки, приходящие от upstream'а, доступны как 
> > $upstream_http_*.  Однако как только начинается работа следующего 
> > upstream'а - они чистятся.  Поэтому значение нужно предварительно 
> > сохранить в другую переменную через rewrite, как-то так:
> > 
> >     location /first {
> >         # здесь возвращают X-Accel-Redirect и X-Send-Cookie
> >         fastcgi_pass ...
> >     }
> > 
> >     location /second {
> >         set $t $upstream_http_x_send_cookie;
> >         proxy_set_header Cookie $t;
> >         proxy_pass ...
> >     }
> 
> Если в SSI дано:
> <!--# include virtual="/first" -->
> <!--# include virtual="/second" -->
> То не забываем ставить wait="yes" для /first ?

Нет.  Приведённый кусок SSI не имеет смысла при использоавнии 
вышеуказанного конфига.

> И вопрос-приблуда - как вытащить переменную $upstream_response_time в SSI ?
> А то я уже совсем отчаялся вывести время генерации SSI страницы в футер сайта - инклюды-то параллельно качаются... 

Никак.  Только писать в лог (при необходимости - включив 
логгирование подзапросов).

Maxim Dounin





More information about the nginx-ru mailing list