error_page & cookie
Denis Gabaidulin
sherman at oemdesign.ru
Mon Aug 20 12:32:44 MSD 2007
On 8/16/07, Denis Gabaidulin <sherman at oemdesign.ru> wrote:
> Доброго времени суток.
>
> У меня есть следующая конфигурация.
>
> location /index.php {
> add_header Cache-Control no-cache,no-store;
> set $original_qs $query_string;
>
> if ($query_string ~* "c=([0-9]{1,6})(\;b=[0-2])?$") {
> rewrite (.+) /hit last;
> }
> }
>
> # handle hit
> location /hit {
> include conf/fastcgi_params;
>
> fastcgi_param PATH_TRANSLATED /var/www/stinger/utils/counter.php;
> fastcgi_pass unix:/var/run/php-cgi/php-cgi.sock;
> fastcgi_intercept_errors on;
>
> error_page 501 =200 /continue;
> }
>
> location /continue {
> internal;
> set $img_content_type 15;
>
> if ($http_accept ~* "image\/\*") {
> set $img_content_type 1;
> }
>
> if ($http_accept ~* "\*\/\*") {
> set $img_content_type 1;
> }
>
> if ($http_accept ~* "image\/gif") {
> set $img_content_type 1;
> }
>
> if ($original_qs ~* "c=([0-9]{1,6})(\;b=[0-2])?$") {
> set $client $1;
>
> rewrite (.+) "/${client}_${img_content_type}" last;
> }
> }
>
> # TODO: move all headers to memcached;
>
> # gif
> location ~* "/[0-9]{1,6}_1$" {
> add_header Cache-Control no-cache,no-store;
> default_type image/gif;
> set $memcached_key "$uri?$args";
> memcached_pass localhost:11211;
>
> # handle 404
> if ($content_length = "") {
> rewrite (.*) /banner.php?$original_qs last;
> }
> }
>
> # generate banner on the fly
> location /banner.php {
> include conf/fastcgi_params;
>
> fastcgi_param PATH_TRANSLATED /var/www/stinger/src/web/banner.php;
> fastcgi_pass unix:/var/run/php-cgi/php-cgi.sock;
> }
>
> В location "hit" у меня срабатывает php скрипт, и выдает заголовки:
>
> Set-Cookie: ...
> HTTP/1.1 501 Not Implemented
>
> Проблема в том, что cookie дальше не передается, и соответсвенно
> клиенту уже не приходит :-(
>
> Как-нибудь можно передать в данном случае заголовок Cookie ?
>
>
> p.s. Вместо 501 пробовал разные варианты, результат тот же :-(
>
хмм, а если перестроить вопрос так:
возможно ли вернуть управление запросом в nginx после отработки php
fast-cgi процесса, и при этом не потерять cookie, которые этот процесс
послал клиенту ?
More information about the nginx-ru
mailing list