Un serveur Squid est un proxy distribué en tant que logiciel libre. Le principe du proxy est de garder certains éléments en cache afin d’augmenter la vitesse de navigation des utilisateurs. Toutefois parfois il peut être gênant de garder certains éléments en cache, par exemple pour un développeur web voulant visualiser des modifications qu’il vient d’effectuer sur un site internet. Dans la suite de cette page, vous apprendrez à purger du cache les éléments pour un site choisi.
Purger du cache les éléments choisis
Modifier la configuration de Squid pour autoriser la purge
Dans un premier temps, il vous faut modifier le fichier de configuration de Squid (squid.conf) afin d’autoriser la purge. Pour ce faire, éditez le fichier /etc/squid/squid.conf puis ajoutez les ligne suivantes :
acl PURGE method purge http_access allow purge localhost http_access deny purge
Vous devez maintenant ajouter un mot de passe pour le cache manager ( cache_mgr ), toujours dans le fichier de configuration ajouter une ligne :
cachemgr_passwd password objects
L’option objects permet de limiter le champ d’action au manager, toutefois il sera possible de purger le cache.
Enfin pour que votre nouvelle configuration soit prise en compte, dans la console de votre proxy entrez la ligne :
squid -k reconfigure
Faire une liste des objets que l’on veut supprimer
Pour créer une liste « lst-obj », qui contient tous les objets en provenance du site linuxfr par exemple, il vous suffit d’entrer la ligne suivante dans la console de votre proxy:
squidclient -p 8080 -U manager -W password mgr:objects | grep linuxfr > lst-obj
Vous pouvez afficher la liste lst-obj grâce à la ligne suivante :
more lst-obj GET http://linuxfr.org/2009/04/images/ecrire.png GET http://linuxfr.org/forums/images/ecrire.png GET http://linuxfr.org/backend/journaux/rss20.rss GET http://linuxfr.org/~Zenitram/28107.html GET http://linuxfr.org/forums/10/9666.html GET http://linuxfr.org/forums/30/23427.html GET http://linuxfr.org/2007/03/images/ecrire.png GET http://linuxfr.org/css/contrib/nightgrey.css GET http://linuxfr.org/css/linuxfr_print.css GET http://linuxfr.org/2009/04/09/25285.html
Purger les objets présents dans la liste
Vous pouvez maintenant supprimer les objets que vous avez mis dans la liste lst-obj, en exécutant la ligne suivante :
cut -d" " -f2 lst-obj | xargs -n 1 squidclient -m PURGE -p 8080
Le proxy vous confirme alors la purge en affichant alors la liste des éléments supprimés.