Работа с cookie: изменить значение существующей куки
unclead
nginx-forum на nginx.us
Ср Фев 17 18:39:47 MSK 2010
Здравствуйте!
Не знаю можно ли реализовать подобное на стороне веб-сервера(nginx).
Весь день серфил в Интернете - ничего не смог найти, потому решил задать вопрос здесь.
Есть задача, которая основана на куках.
Т.е. абонент заходит на сайт, ему передается кука, например, stat со значением val1
add_header Set-Cookie stat=val1;
далее если абонент заходит еще раз на сайт(скачивает контент), то проверятеся есть ли у абонента кука
if ($cookie_stat ~ "val1.*$")
и если есть то значение куки нужно сменить на val2.
Как только не пробовал, не выходит.
В конфиге выглядит примерно так
location ~ ^/support/check/(.*)$ {
proxy_pass_header Set-Cookie;
more_clear_headers 'Expires';
add_header Cache-control 'no-store,no-cache,must-revalidate';
add_header Expires "Wed, 28 Oct 2009 06:45:35 GMT";
proxy_buffering off;
proxy_ignore_client_abort off;
proxy_max_temp_file_size 0;
keepalive_timeout 0;
reset_timedout_connection on;
proxy_buffer_size 1k;
set $myurl $1;
if ($cookie_stat ~ "val2.*$"){
proxy_pass http://proxy/$myurl;break;
}
if ($cookie_stat ~ "val1.*$"){
add_header Set-Cookie stat=val2;
rewrite ^(.*)$ http://mysite.ru/stat.php?backurl=http://site2.ru/support/check/$myurl;break;
}
add_header Set-Cookie stat=val1;
proxy_pass http://proxy/$myurl;
}
Надеюсь, что кто-то уже сталкивался с подобной задачей.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,55052,55052#msg-55052
Подробная информация о списке рассылки nginx-ru