Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проксирование Cookie как в Apache ProxyPassReverseCookie
16 октября 2011 г. 5:33 пользователь Begetan <nginx-forum@xxxxxxxx> написал:
> Приветствую!
>
> Хочу вернутся к нерешенному вопросу
> проксирования куки в ответах от
> бекенда.
>
>> >Заголовок ответа бекенда можно
>> достать через переменную
>> >$upstream_http_<header>, в данном случае -
>> >$upstream_http_set_cookie.
>>
>> >Нюанс 1: сделать с ним можно что-то
>> разве что через встроенный
>> >перл (perl_set), ибо все if'и уже давно
>> отработали.
>>
>> >Нюанс 2: если заголовков много - будет
>> доступен только первый из
>> >них.
Для изменения path у меня работает вот такое решение на lua:
location /path1 {
proxy_pass ...;
header_filter_by_lua '
local headers = ngx.header["Set-Cookie"]
if headers then
if type(headers) == "string" then
headers = {headers}
end
for i, header in ipairs(headers) do
local cookie = ngx.re.match(header, "JSESSIONID=([^;]+);", "io")
if cookie then
headers[i] = "JSESSIONID=" .. cookie[1] .. ";
path=/path2";
ngx.header["Set-Cookie"] = headers
break
end
end
end
';
}
Доки и примеры тут:
http://wiki.nginx.org/HttpLuaModule
http://www.lua.org/manual/5.1/
Вообще хотелось бы встроенного proxy_... решения.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|