O Varnish Server lança o erro 503 quando o back-end está inativo

2

O verniz começa imediatamente a exibir um erro 503 Serviço Indisponível quando o back-end do site está inativo. A configuração é que tudo deve ser armazenado em cache por 7 dias.

Espero que o site permaneça ativo se o back-end ficar inativo por uma hora. O servidor de cache ainda deve servir páginas de seu cache.

O site é totalmente estático, com 300.000 visualizações de páginas por dia. A taxa de acertos até agora é de 2: 5 (MISS-HIT), acho que isso também deveria ser maior.

A configuração / etc / verniz / default:

backend www {
   .host = "ip address here";
   .port = "http";
   .connect_timeout = 1s;
   .first_byte_timeout = 5s;
   .between_bytes_timeout = 2s;
}
sub vcl_deliver {
        if (obj.hits > 0) {
                set resp.http.X-Cache = "HIT";
        }
        else {
                set resp.http.X-Cache = "MISS";
        }
}
sub vcl_recv {
        #if (req.request == "GET" && req.url ~ "\.(js|css|jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf|cgi|ico)$") {
                unset req.http.cookie;
                return (lookup);
        #}
}
sub vcl_fetch {
        if (beresp.http.Set-Cookie) {
        #if (req.request == "GET" && req.url ~ "\.(js|css|jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf|cgi|ico)$") {
                unset beresp.http.set-cookie;
                set beresp.ttl = 7d;
                return(deliver);
        }
}

O .htaccess do site:

<IfModule mod_headers.c>
SetEnv force-no-vary
Header append Vary: Accept-Encoding
Header unset Pragma
Header unset ETag
Header unset Last-Modified
FileETag None

# YEAR
<filesMatch "\.(ico|gif|jpg|jpeg|png|flv|pdf)$">
  Header set Cache-Control "max-age=29030400"
</filesMatch>
# WEEK
<filesMatch "\.(js|css|swf)$">
  Header set Cache-Control "max-age=604800"
</filesMatch>
# 3 DAYS
<filesMatch "\.(php|cgi|pl|htm)$">
  Header set Cache-Control "max-age=259200"
</filesMatch>
</ifModule>
    
por ujjain 24.08.2012 / 14:04

1 resposta

1

Você precisa observar o modo de graça e / ou o modo Saint.

Varnish Grace & Modos de Saint

O modo Graça permite que você exiba conteúdo antigo quando seus backends estão inativos ou lentos, e o modo saint permite que você tente novamente outro back-end se o back-end que você usou responder com um erro.

    
por 24.08.2012 / 17:25

Tags