Você pode usar proxy_cache_bypass
.
proxy_cache_bypass $http_cache_control;
Isso fará com que o nginx busque uma cópia nova do documento na presença do cabeçalho Cache-Control
na solicitação HTTP do cliente.
Observe que a resposta resultante do back-end ainda está qualificada para o armazenamento em cache. Se você quiser desqualificá-lo, use os mesmos argumentos com a diretiva proxy_no_cache
também.
Fonte: link
Se você deseja especificamente ignorar o cache somente quando o cliente tiver Cache-Control: max-age=0
nos cabeçalhos (por exemplo, para explicitamente não oferecer suporte a outra variante, Cache-Control: no-cache
, que na verdade é uma preferência mais strong por uma nova cópia da página max-age=0
is), então você pode usar o seguinte, que eu não recomendarei devido a tal limitação:
set $cc_ma 0;
if ($http_cache_control = "max-age=0") { # honour ⌘R, ignore ⇧⌘R (yes, bad idea!)
set $cc_ma 1;
}
proxy_cache_bypass $cc_ma;
BTW, também há Pragma: no-cache
, o que obviamente não explica, embora no meu conjunto limitado de experimentos, sempre seja acompanhado por um Cache-Control: no-cache
, então, o original de uma linha provavelmente faria o melhor trabalho .
Como nota, o SeaMonkey envia Cache-Control: max-age=0
quando você clica em Recarregar ou ⌘R e Pragma: no-cache\r\nCache-Control: no-cache
quando você Desloca Recarregar ou ⇧⌘R .