meta données pour cette page
Accélérer ses applications avec Varnish
Ce service permet d'accélérer grandement le rendu des éléments d'une page web statique tel que les images et code CSS. Il peut aussi être utilisé pour de la répartition de charge bien qu'il ne gère par de terminaison SSL. (Il y aura alors besoin d'un reverse proxy en amont avec Nginx par exemple).
Documentation :
Installation
Très simple avec seulement cette commande :
apt install varnish
Les options par défaut sont déjà pas mal.
Configuration
Voici un exemple simple pour mettre en cache des fichiers PHP et quelqu'uns terminant par .png, .css, .js, etc.
vcl 4.0; backend default { .host = "IP_DU_SERVEUR"; .port = "80"; } # En réception sub vcl_recv { # Si ça doit concerner plusieurs sites : # if (req.http.host ~ "(wiki\.bruno-tatu\.com)") { # set req.backend_hint = default; # } if (req.url ~ "^/[^?]+\.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(\?.*|)$") { unset req.http.cookie; } if (req.url ~ "(fetch.php|css.php|indexer.php)") { unset req.http.cookie; } } sub vcl_backend_response { if (beresp.status == 403 || beresp.status == 404 || beresp.status == 503 || beresp.status == 500) { set beresp.ttl = 10s; } else { set beresp.ttl = 3600s; unset beresp.http.set-cookie; } } # Sortie de réponse aux Internautes sub vcl_deliver { if (req.url ~ "^/[^?]+\.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(\?.*|)$") { unset resp.http.Via; unset resp.http.X-Varnish; unset resp.http.Server; } if (req.url ~ "(fetch.php|css.php|indexer.php)") { unset resp.http.Via; unset resp.http.X-Varnish; unset resp.http.Server; } }