Vous pouvez utiliser Squid conjointement avec un pare-feu pour protéger de l'extérieur les réseaux internes en utilisant un serveur proxy cache. Le pare-feu interdit à tout client, à l'exception de Squid, d'établir une connexion avec des services externes. Toutes les connexions web doivent être établies par l'intermédiaire du serveur proxy.
Dans le cas d'un pare-feu avec une DMZ (zone démilitarisée), installez votre serveur proxy dans cette zone. Il est alors important que tous les ordinateurs de la DMZ n'envoient leurs fichiers de journaux qu'à des ordinateurs à l'intérieur du réseau sécurisé. La possibilité de mettre en place un tel serveur proxy « transparent » est décrite dans la Section 33.6, « Configuration d'un serveur proxy transparent ».
Vous pouvez configurer plusieurs serveurs proxy de manière à ce qu'ils puissent échanger des objets entre eux. Ceci réduit la charge du système et augmente la probabilité de trouver un objet lorsque celui-ci est déjà disponible sur le réseau local. Il est également possible d'établir des hiérarchies de caches, afin qu'un cache soit en mesure soit de faire suivre des demandes d'objets aux caches de même niveau hiérarchique, soit de demander à un cache de niveau supérieur de télécharger les objets à partir d'un autre cache du réseau local ou directement à la source.
Il est important de choisir soigneusement la topologie pour la hiérarchie de caches afin de ne pas augmenter le trafic réseau global. Ainsi, dans un réseau constitué de nombreuses machines, il est possible de configurer un serveur proxy pour chaque sous-réseau, et de lier ensuite celui-ci à un serveur proxy de niveau supérieur, à son tour connecté au serveur proxy cache du fournisseur d'accès à Internet.
Toute la communication est gérée par le protocole ICP (Internet Cache Protocol) placé au-dessus du protocole UDP. L'échange de données entre les caches se fait à l'aide du protocole HTTP (Hyper Text Transmission Protocol) basé sur TCP.
Pour trouver les meilleurs serveurs pour les objets souhaités, un cache envoie une requête ICP à tous les serveurs proxy du même niveau hiérarchique. Les serveurs proxy réagissent alors à ces demandes avec des réponses ICP contenant le code « HIT » si l'objet a été trouvé ou le code « MISS » dans le cas contraire. S'il a obtenu plusieurs réponses HIT, le serveur proxy désigne un serveur particulier pour le téléchargement. La rapidité de réponse d'un cache, ou sa proximité physique, font partie des paramètres de décision. Si la réponse n'est pas satisfaisante, la demande est transmise au cache de niveau supérieur.
![]() | Astuce |
|---|---|
Pour éviter d'enregistrer plusieurs fois des objets dans différents caches du réseau, d'autres protocoles ICP sont également utilisés, comme par exemple CARP (Cache Array Routing Protocol) ou HTCP (Hyper-Text Cache Protocol). Plus il y a d'objets présents sur le réseau, plus il est facile de trouver celui qui est cherché. | |
Tous les objets disponibles sur le réseau ne sont pas statiques. Il existe de nombreuses pages CGI générées de manière dynamique, des compteurs d'accès ou des documents SSL chiffrés pour garantir un certain niveau de sécurité. C'est pour cette raison que ce type d'objets n'est pas conservé en cache : en effet, à chaque nouvel accès, l'objet est modifié.
Pour tous les autres objets qui se trouvent dans le cache, se pose
la question de savoir combien de temps ils doivent y rester. Tous les
objets sont donc classés dans le cache en fonction de différents critères,
afin de pouvoir prendre cette décision. Les en-têtes Last
modified (« dernière modification ») ou
Expires (« expire le ») et la date
correspondante permettent aux serveurs web et proxy de s'informer de
l'état d'un objet. D'autres en-têtes sont également utilisées pour indiquer
par exemple qu'un objet donné ne doit pas faire l'objet d'un enregistrement
intermédiaire.
Les objets stockés dans le cache sont généralement remplacés si la place vient à manquer, et ce à l'aide d'algorithmes tels que Last Recently Used (LRU) développés spécialement pour la gestion des objets en cache. Le principe consiste, en substance, à remplacer les objets demandés le moins fréquemment.