Proxy reverso Nginx: não definir o cabeçalho de expiração

5

Eu tenho meus recursos estáticos configurados como

 location @upstream {
   proxy_pass http://localhost:82;

    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
 }

 location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
     try_files $uri @upstream;
     access_log off;
     expires max;
     add_header Cache-Control public;
 }

O limite de expiração não é respeitado.
Eu acho que é respeitando o cabeçalho do servidor de entrada.

Como pode modificar isso para definir o cabeçalho de expiração?

    
por Quintin Par 26.09.2011 / 05:00

1 resposta

3

O Nginx aplica apenas um local, nunca mais. No seu exemplo, ele aplicará o cabeçalho expires aos arquivos estáticos existentes, mas quaisquer arquivos não encontrados e, portanto, provenientes do local @upstream, ignorarão as diretivas access_log, expires e add_header da localização estática.

Se você quiser definir a validade, deverá duplicar a diretiva em ambos os locais. Também pode ser necessário definir proxy_hide_header .

    
por 26.09.2011 / 09:17