Welcome! Log In Create A New Profile

Advanced

Re: fastcgi_cache_key with cookie

December 27, 2011 11:15PM
António P. P. Almeida Wrote:
-------------------------------------------------------
> On 27 Dez 2011 17h01 WET, nginx-forum@nginx.us
> wrote:
>
> > zenw Wrote:
> >
> --------------------------------------------------
> -----
> >> I'm trying to cache per user Drupal using this
> >> config :
> >>
> >> fastcgi_ignore_headers Cache-Control Expires;
> >> #tried '__utma' 'Set-Cookie'
> >> fastcgi_cache drupal;
> >> fastcgi_cache_key
> >>
> $http_cookie$request_method$scheme$host$request_ur
> >> i;
> >> fastcgi_cache_methods GET HEAD;
> >> fastcgi_cache_valid any 1s;
> >> fastcgi_cache_use_stale error timeout
> >> invalid_header updating http_500;
> >> fastcgi_max_temp_file_size 2M;
> >> add_header X-Micro-Cache
> $upstream_cache_status;
> >>
> >> I can get this working without google
> analytics,
> >> but when I enable google analytics it adds
> several
> >> cookies __utma __utmb __utmc __utmz. Nginx
> looks
> >> at $http_cookie and sees that its different so
> it
> >> passes it to the backend. Preferably I would
> like
> >> to just use the cache key as $cookie_SESS which
> is
> >> the drupal session cookie, however the full
> cookie
> >> name is encoded to something like this
> >>
> >>
> SSESSae42ac488e03c2e2xxxxxda6ce2f5ee7=xxxxxxxxxxxx
> >> xxxxxxxxxxxxxxxxxx
> >>
> >> I've omitted some letters and numbers. So my
> >> question is how do I just extract the Drupal
> >> Session cookie? Or failing that just strip all
> >> cookies? I have tried fastcgi_ignore header
> >> '__utma' 'Set-Cookie' but it doesn't seem to
> work.
> >
> >
> > Maybe extract the session cookie with something
> like this:
> >
> > map $http_cookie $session_cookie {
> > default "";
> > ~^.*(?<key>SESS.+\;).*$ $key;
> > }
>
> Yes. We can remove the SESS string and keep just
> the unique part of the
> id.
>
> map $http_cookie $session_id {
> default '';
> ~SESS(?<session_guid>[[:alnum:]]+)
> $session_guid;
> }
>
> --- appa
>

That regex will only get you the cookie name (md5 of domain) without the cookie value. You will want the equal sign in there so you get both name and value:

~^.*SESS(?<key>[\w\=]+).*$ $key;

or just the value:

~^.*SESS.+\=(?<key>[\w]+).*$ $key;
Subject Author Posted

fastcgi_cache_key with cookie

zenw December 27, 2011 12:13AM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 27, 2011 01:38AM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 01:53AM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 01:56AM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 27, 2011 02:36AM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 02:46AM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 02:48AM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 27, 2011 03:02AM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 03:24AM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 27, 2011 04:06AM

Re: fastcgi_cache_key with cookie

brianmercer December 27, 2011 12:01PM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 27, 2011 02:54PM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 08:15PM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 08:35PM

Re: fastcgi_cache_key with cookie

brianmercer December 27, 2011 11:15PM

Re: fastcgi_cache_key with cookie

zenw December 27, 2011 11:28PM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 28, 2011 02:04AM

Re: fastcgi_cache_key with cookie

brianmercer December 28, 2011 08:55AM

Re: fastcgi_cache_key with cookie

António P. P. Almeida December 28, 2011 11:54AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 245
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready