Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: error_page & cookie
- To: nginx-ru@xxxxxxxxx
- Subject: Re: error_page & cookie
- From: "Denis Gabaidulin" <sherman@xxxxxxxxxxxx>
- Date: Mon, 20 Aug 2007 12:32:44 +0400
- Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:reply-to:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=lRMz4M7XLsZtECLokaWy03BPhWR/HGPn3zWkRE9t15mzqapqke8+cY/ecpyD0mGvArpSixHpNx4982YUdxcVR6ZW0H3iCTeIGnXDhgXjSPmO0ZusTm2vd5rk6TRZeAAqwM5Sz1naADbPKRPLsJ1I0ChVpUHMrndGKau8DBkFgNg=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:reply-to:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=HcPSJBVNNlQ4zx1dWEAAn4Q5cTIpewjYe3HxRSQvg5zQCzBgHj3d+gvU5ElxF1mP95X+N5IvMHTLInUuHnFhxhLdD7gmWusauGj6nJMZ8564hoNbAy5vMf+NcPG38AMrLjGJiMmFP7zH7z8QI5vXVQWSC83cUZABzhQ5/hMjjd8=
- In-reply-to: <cf65bbc50708160915p6f0bd7f4rabe0c79a16cd7e42@xxxxxxxxxxxxxx>
- References: <cf65bbc50708160915p6f0bd7f4rabe0c79a16cd7e42@xxxxxxxxxxxxxx>
On 8/16/07, Denis Gabaidulin <sherman@xxxxxxxxxxxx> 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, которые этот процесс
послал клиенту ?
|