Работа с 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