Alguém pode compartilhar sua Varnish VCL para definir expira no futuro?

1

Parece que há uma dúzia de páginas que informam como definir seus cabeçalhos "expira" para arquivos, mas nenhum que esteja realmente correto.

Neste momento, minha VCL é:

if (req.url ~ "^/media/") {
    set beresp.ttl = 3600s;
    set beresp.http.expires = beresp.ttl;
    set beresp.http.age = "0";
    unset beresp.http.set-cookie;
}

e o navegador continua solicitando arquivos em / media / para cada solicitação. Alguém pode compartilhar um snippet VCL que, na verdade, diz ao navegador para armazenar o objeto em cache pelo tempo que o Varnish faz e não o solicita novamente?

Meus cabeçalhos de resposta são:

Server Apache/2.2.14 (Ubuntu)
Last-Modified Sun, 15 Aug 2010 22:26:50 GMT
Etag "141d8-184e-48de4364e3e80"
Vary Accept-Encoding
Content-Encoding gzip
Content-Type text/css
Expires 3600.000
Content-Length 1802
Date Mon, 16 Aug 2010 12:16:48 GMT
X-Varnish 808143209 808142052
Age 2184
Via 1.1 varnish
Connection keep-alive

Não tenho certeza de qual cabeçalho está fazendo o navegador solicitar o CSS a cada vez, mas isso acontece. Ajuda?

    
por Stavros Korokithakis 16.08.2010 / 14:22

1 resposta

1

Que tal configurar o cabeçalho de controle de cache também?

set beresp.http.cache-control = "max-age = 3600";

Se o seu navegador não vir esse cabeçalho, ele poderá estar inclinado a solicitar o objeto todas as vezes. Espero que isso ajude.

    
por 16.08.2010 / 14:36

Tags