Nginx fastcgi_cache ocultar Set-Cookie ao servir do cache

2

Estou tentando usar o nginx fastcgi_cache para servir algumas páginas do meu site, mas funcionou bem, mas descobri que as sessões estavam sendo duplicadas para todos os usuários porque o Set-Cookie estava em cache na resposta.

Já experimentei várias soluções, mas não quero desativar os cookies nessas páginas, apenas para ignorá-las ao veicular do cache. Há alguma maneira de fazer isso? Pensei em mudar para o verniz, mas tenho vários sites no mesmo servidor e gostaria de evitá-lo.

Eu também tentei este , mas sem sucesso

fastcgi_cache_path /etc/nginx/cache/iteramos levels=1:2 keys_zone=ITERAMOS:120m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

set $supercache_uri $request_uri;
set $no_cache 1;

#set no cache to 0 (do cache) if we are in listing pages
if ($supercache_uri ~ ^/(preguntas|etiquetada|etiquetas)$) {
    set $no_cache 0;
    set $supercache_uri '';
}
if ($supercache_uri = /) {
    set $no_cache 0;
    set $supercache_uri '';
}

if ($supercache_uri ~ ^/?page= ) {
    set $no_cache 0;
    set $supercache_uri '';
}

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
    fastcgi_cache ITERAMOS;
    fastcgi_cache_valid 200 60m;
    #this header adds a hit / bypass / miss header
    fastcgi_cache_use_stale error timeout;
    add_header X-Cache $upstream_cache_status;
    fastcgi_cache_bypass $no_cache;
    fastcgi_no_cache $no_cache;
}

Obrigado antecipadamente

    
por SkarXa 06.04.2015 / 10:51

1 resposta

1

Tente usar fastcgi_hide_header :

fastcgi_hide_header "Set-Cookie";

Isso ocultará todos os cookies quando a solicitação chegar ao cache. documentos oficiais

    
por 19.08.2015 / 15:05