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

Maxim Dounin mdounin at mdounin.ru
Thu May 14 20:03:05 MSD 2009


Hello!

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 ...
    }

Maxim Dounin





More information about the nginx-ru mailing list