Qu’est-ce que Varnish et comment l’utiliser pour améliorer les performances HTTP ?
Tous les utilisateurs confrontés au développement de sites web et d’applications savent que, dans le monde moderne des technologies de l’internet, la performance du projet est un facteur essentiel. Des pages qui se chargent rapidement améliorent non seulement l’expérience de l’utilisateur, mais augmentent également l’indice de référencement du site. Cela a également un effet important sur la dynamique de croissance des bénéfices de votre projet. Varnish Cache est l’un des outils qui peut améliorer de manière significative les performances des requêtes HTTP. Cet article a pour but d’examiner les avantages de l’utilisation de Varnish et la manière dont il peut vous être utile. La première chose à mentionner est que Varnish est un accélérateur HTTP très performant qui est utilisé pour mettre en cache le contenu des sites web. Son rôle est de s’installer devant le serveur web et de traiter les requêtes des clients, en renvoyant des copies des pages mises en cache au lieu de contacter le serveur web à chaque fois. Cela permet de réduire considérablement la charge du serveur et d’accélérer le traitement des demandes. En d’autres termes, cet outil accélère réellement, parfois même plusieurs fois, le travail de votre serveur.
Comment installer et gérer Varnish
Les méthodes d’installation dépendent du système d’exploitation spécifique, dans ce guide nous nous concentrons sur Ubuntu 22.04. Varnish peut être installé à l’aide de la commande suivante :
apt install varnish
Après avoir installé Varnish avec succès, vous devez le configurer pour qu’il fonctionne avec votre serveur web. Par défaut, Varnish écoute sur le port 6081. Vous pouvez modifier la configuration dans le fichier
/etc/varnish/default.vcl.
Par exemple, il peut ressembler à ceci si vous décidez de changer le port (par exemple, le port http-alt )
backend default {
.host = "127.0.0.1" ;
.port = "8080" ;
Exemple de travail avec Varnish
Il existe plusieurs variantes pour travailler avec Varnish. Par exemple, vous devez configurer le temps de vie du cache (TTL) et vous pouvez le configurer en fonction du type de contenu. Par exemple, pour un site d’actualités, vous pouvez définir un temps de cache court pour les actualités et un temps plus long pour les actualités archivées et les documents moins récents.
sub vcl_backend_response {
if (bereq.url ~ "^/news") {
set beresp.ttl = 2m ;
} else {
set beresp.ttl = 72h ;
}
}
Comment pouvez-vous l’utiliser pour améliorer les performances HTTP ?
L’utilisation de Varnish pour améliorer les performances HTTP présente plusieurs avantages importants pour les utilisateurs. Certains d’entre eux sont énumérés ci-dessous :
- Anonymisation. Les utilisateurs d’Internet font souvent l’expérience du processus de balayage d’un nom de domaine. Cela peut indiquer un proxy inverse, il obtiendra des informations sur le serveur proxy et non sur le véritable serveur web qui se trouve derrière.
- Sécurité. Un site web protégé par un proxy inverse peut éviter plus facilement les attaques malveillantes. Cela permettra au site web de fonctionner sans heurts et de ne pas causer de pertes à vos clients.
- Téléchargement ou résiliation du SSL. Un proxy inverse peut accepter toutes les requêtes HTTPS et effectuer un échange SSL avec le navigateur de l’utilisateur. Ces demandes sont ensuite converties en HTTP et envoyées au serveur web. Cela libère votre serveur de l’échange SSL et lui permet de s’occuper d’autres activités importantes (comme le téléchargement du reste du contenu de la page web) ;
- Et enfin, la mise en cache! Si vous autorisez un proxy inverse à stocker temporairement le contenu statique de vos pages, il sera traité chaque fois qu’une nouvelle demande lui sera adressée : il n’y aura pas d’aller-retour vers le serveur d’origine et vos pages se chargeront plus rapidement.