Проксирование Cookie как в Apache ProxyPassReverseCookie

Begetan nginx-forum на nginx.us
Вс Апр 17 20:32:21 MSD 2011


Уважаемые, хочу понять может ли Nginx
выполнять проксирование Cookie наподобие
директив Apache 
ProxyPassReverseCookieDomain или ProxyPassReverseCookiePath


Подобная задача возникает при работе с
сессиям, например от backend.org приходит
ответ
Set-Cookie	JSESSIONID=xxx; domain=.backend.com; path=/

А нужно сделать чтобы было так:
Set-Cookie	JSESSIONID=xxx; domain=.frontend.com; path=/

В запросе соответственно выполняется
обратная замена

С заголовками запроса все просто, есть
$cookie_, есть $http_cookie

if ($http_cookie ~* "JSESSIONID=(.*)(domain=.frontend.com;)(.*)") {
            set $mycookie "JSESSIONID=$1 domain=.backend.com; $3";
        } 
Затем  proxy_set_header      Cookie          $mycookie;

Конфигурацию не проверял, но
принципиально должно работать.

А вот с заголовками ответа - непонятно.
Есть директива
 add_header     Set-Cookie $bla;

Она работает. Проблема в том как
извлечь исходную куку из заголовков
ответа. Читал описание встроенных
переменных и нужной не нашел.

Вопрос 1. Доступны  ли переменные с
заголовками ответов, а именно Set-Cookie? 
Вопрос 2. Можно ли каким то то способом
реализовать проксирование Cookie в nginx?
Вопрос 3. Не планируется ли аналог 
директив Apache  ProxyPassReverseCookie?

Я видел, что большинство вопрошающих в
рассылку либо не могли сформулировать
понятно вопрос, либо решили проблему с
установкой нужной Cookie на стороне backend. 
Тем не менее, иногда существует
необходимость сделать замену на frontend.
Хочется услышать мнение разработчиков.
Заранее благодарю!

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,191814,191814#msg-191814




Подробная информация о списке рассылки nginx-ru