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
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Проксирование Cookie как в Apache ProxyPassReverseCookie
- From: "Begetan" <nginx-forum@xxxxxxxx>
- Date: Sat, 15 Oct 2011 19:33:12 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=RO0TmQ8IBGj3wxKNQ3dXuPImMRf/hMBFVFVkbfAyBjE=; b=tve7B/yXdkgYqzScIJAcG7H+CwE0Y5jCUUGlVocpiau4c+fsko6QvrN+JyBOs4uJ09TOFFbABfZV7wkiIJhLQD16gsh5dcN8B5DJqjwdMyMUaZHHt+3BwZnzBuMi9v1R;
- In-reply-to: <20110418105010.GS56867@xxxxxxxxxx>
- References: <20110418105010.GS56867@xxxxxxxxxx>
Приветствую!
Хочу вернутся к нерешенному вопросу
проксирования куки в ответах от
бекенда.
> >Заголовок ответа бекенда можно
> достать через переменную
> >$upstream_http_<header>, в данном случае -
> >$upstream_http_set_cookie.
>
> >Нюанс 1: сделать с ним можно что-то
> разве что через встроенный
> >перл (perl_set), ибо все if'и уже давно
> отработали.
>
> >Нюанс 2: если заголовков много - будет
> доступен только первый из
> >них.
Пробую применить perl
Есть такая конфигурация Nginx
http {
perl_modules /home/nginx/data/perl;
perl_require cproxy.pm;
perl_set $some_new_cookie cproxy::handler ;
...
server {
location /test {
proxy_pass http://backend;
proxy_hide_header Set-Cookie;
add_header Set-Cookie $some_new_cookie;
}
Обработчик запускается:
package cproxy;
use nginx;
sub handler {
my $r = shift;
if (my $cookie = $r->variable($upstream_http_Set_Cookie)) {
$cookie = "Cookie=NEW;" ;
}
else {
return $cookie="Cookie=NULL;";
}
# $r->header_out("Set-Cookie", $cookie);
# $r->send_http_header;
# return OK if $r->header_only;
return $cookie;
}
Результат - выводится Cookie=NULL; хотя в
логах отображается нормальная
$upstream_http_Set_Cookie
Использование send_http_header делу не
помогает
Судя по всему вызов обработчика
переменной происходит слишком рано,
как быть?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,191814,216755#msg-216755
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|