Para evitar o armazenamento em cache de uma solicitação, você deve usar fastcgi_no_cache
e fastcgi_cache_bypass
juntos. O primeiro diz ao nginx para não armazenar em cache uma resposta, e o segundo diz ao nginx para não tentar encontrar o documento no cache.
Por exemplo, para evitar o cache de qualquer solicitação com uma string de consulta:
fastcgi_cache_bypass $is_args;
fastcgi_no_cache $is_args;
Para evitar o armazenamento em cache de uma solicitação com um cookie chamado "logged_in_user":
fastcgi_cache_bypass $cookie_logged_in_user;
fastcgi_no_cache $cookie_logged_in_user;
Para evitar o armazenamento em cache de caminhos específicos, é necessário combinar isso com um map
, que lista os URLs que você faz não quer esconder. Observe que map
deve aparecer fora de cada bloco server
e dentro do bloco http
.
map $request_uri $dont_cache_uri {
default 0;
/a 1;
/b 1;
/c/d 1;
}
Depois, você pode evitar o armazenamento em cache de todos os itens acima.
fastcgi_cache_bypass $is_args $cookie_logged_in_user $dont_cache_uri;
fastcgi_no_cache $is_args $cookie_logged_in_user $dont_cache_uri;