NGINX não armazena imagens em cache ou envia cabeçalhos adicionados

1
A diretiva

add_header e a diretiva de proxy parecem ser ignoradas. Eu estou usando nginx como um cdn para servir imagens e gostaria de armazenar em cache as imagens. Abaixo estão os meus sites disponíveis para o cdn. As imagens são exibidas bem, mas não vejo o X-Cache-Status nos cabeçalhos nem parece estar preenchendo o caminho do cache com qualquer conteúdo.

O que estou perdendo?

versão nginx: nginx / 1.10.0 (Ubuntu)

proxy_cache_path /var/www/html/nginx-cache levels=1:2 keys_zone=cdn:100m max_size=25g inactive=60m use_temp_path=off;

# Expires map
map $sent_http_content_type $expires {
    default                    off;
    text/html                  epoch;
    text/css                   max;
    application/javascript     max;
    ~image/                    max;
}


server {
  listen 80;
  server_name applebeescdn;

  # Proxy Cache
  proxy_cache cdn;
  proxy_cache_key "$host$request_uri $cookie_user";
  proxy_cache_min_uses 1;
  proxy_cache_valid 200 302 120m;
  proxy_cache_valid 404 1m;
  proxy_ignore_headers "Set-Cookie";
  proxy_hide_header "Set-Cookie";
  proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;
  proxy_buffering on;

  location / {
    expires $expires;
    root /var/www/html/;
    add_header 'X-Cache-Status' "$upstream_cache_status" always;
  }

}
    
por ILikeTurtles 04.01.2017 / 21:47

1 resposta

3

Acho que você está entendendo mal como usar proxy_cache . Você precisa ter um proxy_pass se estiver usando proxy_cache (ou seja, um servidor de origem separado para o qual essa instância nginx está agindo como um proxy reverso). Você pode ler mais sobre como configurar um servidor de origem aqui .

    
por 05.01.2017 / 06:32