Varnish

De gacq wiki
Saltar a: navegación, buscar

Instalación

Desde las fuentes en Debian Lenny

apt-get install binutils gcc gcc-4.2 libc6-dev libgomp1 linux-libc-dev autoconf m4 make libncurses-dev
wget http://ufpr.dl.sourceforge.net/sourceforge/varnish/varnish-2.0.4.tar.gz
./configure;make;make install
ldconfig
mkdir /var/log/varnish
chown varnish:root /var/log/varnish/
./postinst
/etc/varnish/default.vcl
backend default {
.host = "127.0.0.1";
.port = "8080";
}

sub vcl_recv {
    if ( (req.url ~ "^/pagina_exceptuada\.html") ||
       (req.url ~ "^/pagina_exceptuada2\.html") ) {

       return (pass);
   }

   unset req.http.cookie;
   unset req.http.Authorization;
   return (lookup);
}

sub vcl_fetch {
    unset obj.http.set-cookie;
    set obj.ttl = 15m;
    return (deliver);
}

sub vcl_error {
    set obj.http.Content-Type = "text/html; charset=utf-8";
    synthetic {"
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>"} obj.status " " obj.response {"</title>
  </head>
  <body>
    <h1>Error "} obj.status " " obj.response {"</h1>
    <p>"} obj.response {"</p>
    <h3>Guru Meditation on nodo2:</h3>
    <p>XID: "} req.xid {"</p>
    <address>
       <a href="http://www.varnish-cache.org/">Varnish</a>
    </address>
  </body>
</html>
"};
return (deliver);
}

Integración con otros paquetes

Para permitir que la sistemas de estadísticas como awstats continúen reflejando las visitas al sitio que no son registradas por el Apache ya que dichas solicitudes son atendidas directamente por el Varnish se configura el demonio "varnishncsa" que deja un log en un formato idéntico al usado por el apache. Este log se encuentra en /var/log/varnish/varnishncsa.log