Уважаемые, хочу понять может ли 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. Хочется услышать мнение разработчиков. Заранее благодарю!
--
Best regards,
Roman Shishkin