Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: умное проксировани е
Hello!
On Fri, May 15, 2009 at 11:02:03AM +0400, Илья Винокуров wrote:
>
>
> -----Original Message-----
> From: Maxim Dounin <mdounin@xxxxxxxxxx>
> > 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
|