Nginx não decrementa max-age

3

Estou tentando configurar o Nginx como um proxy reverso para meu aplicativo Rails sendo executado no Unicorn.

Meu aplicativo tem algumas páginas públicas que gostaria de armazenar em cache por 60 minutos, por isso defini o cabeçalho max-age.

Além disso, adicionei a opção proxy_cache ao meu bloco de servidor no Nginx.

proxy_cache default;

e definiu esse cache

proxy_cache_path /var/www/nginx_cache keys_zone=default:10m max_size=500m;

Eu configurei meu aplicativo para adicionar esse cabeçalho às minhas respostas em cache

Cache-Control: max-age=3600, public

Quando um cliente atinge a página pela primeira vez, a página é renderizada e uma resposta é retornada. No entanto, em solicitações subsequentes, o nginx não diminui o contador de idade máxima.

Como resultado, um visitante pode visitar minha página um minuto antes de expirar, o que significa que ele está vendo um conteúdo de 59 minutos. Mas mantenha essa cópia em seu navegador por mais 60 minutos, antes que ele receba uma nova cópia.

Posso obter o Nginx para subtrair o tempo passado, por isso, se um visitante acessar uma página que está no cache do Nginx por 25 minutos, a duração máxima será de 35 minutos (2100 segundos)?

    
por Niels B. 16.01.2015 / 19:49

1 resposta

0

Você tem uma abordagem completamente errada.

Por favor, leia mais sobre cache de proxy Nginx link

Isso também pode ser útil: Como configurar o Nginx como um proxy reverso de armazenamento em cache?

    
por 19.01.2015 / 16:44