# /etc/nginx/snippets/cache_aggressive_static.conf # # Snippet de cache agressivo para ficheiros estáticos que raramente mudam. # AVISO: Só use isto se os seus ficheiros tiverem nomes únicos a cada deploy (técnica de "cache busting"). # --- Configuração do Cache do Nginx --- # Ativa o cache para esta localização, usando a zona de cache 'static_cache'. # Garanta que esta zona está definida no seu /etc/nginx/nginx.conf. proxy_cache static_cache; # Define que as respostas válidas ficam no cache do Nginx por 30 dias. proxy_cache_valid 200 301 302 30d; # Cacheia erros de "Não Encontrado" por um período curto. proxy_cache_valid 404 1m; # Em caso de erro no backend, serve uma versão antiga do cache em vez de mostrar um erro. proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; # Ativa explicitamente o cache para esta localização. proxy_no_cache 0; proxy_cache_bypass 0; # Otimização que impede que múltiplas requisições para o mesmo recurso em falta atinjam o backend. proxy_cache_lock on; # --- Configuração do Cache do Cliente (Navegador) --- # Instrui o NAVEGADOR do cliente a guardar uma cópia por 30 dias e a nunca a revalidar. # 'immutable' é uma otimização de performance poderosa. add_header Cache-Control "public, immutable, max-age=2592000"; # Adiciona um cabeçalho de depuração para vermos o status do cache (HIT/MISS/BYPASS). add_header X-Cache-Status $upstream_cache_status;