Проксирование 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