Rechercher

Chapitre 3. Configuration du serveur proxy de mise en cache Squid

download PDF

Squid est un serveur proxy qui met en cache le contenu afin de réduire la bande passante et de charger les pages web plus rapidement. Ce chapitre décrit comment configurer Squid en tant que proxy pour les protocoles HTTP, HTTPS et FTP, ainsi que l'authentification et la restriction d'accès.

3.1. Configurer Squid comme proxy de mise en cache sans authentification

Cette section décrit une configuration de base de Squid en tant que proxy de mise en cache sans authentification. La procédure limite l'accès au proxy en fonction des plages d'adresses IP.

Conditions préalables

  • La procédure suppose que le fichier /etc/squid/squid.conf est tel qu'il est fourni par le paquet squid. Si vous avez déjà modifié ce fichier, supprimez-le et réinstallez le paquet.

Procédure

  1. Installez le paquetage squid:

    # dnf install squid
  2. Modifiez le fichier /etc/squid/squid.conf:

    1. Adaptez les listes de contrôle d'accès (ACL) de localnet pour qu'elles correspondent aux plages d'adresses IP qui doivent être autorisées à utiliser le proxy :

      acl localnet src 192.0.2.0/24
      acl localnet 2001:db8:1::/64

      Par défaut, le fichier /etc/squid/squid.conf contient la règle http_access allow localnet qui autorise l'utilisation du proxy à partir de toutes les plages d'adresses IP spécifiées dans les ACL localnet. Notez que vous devez spécifier toutes les ACL localnet avant la règle http_access allow localnet.

      Important

      Supprimez toutes les entrées de acl localnet qui ne correspondent pas à votre environnement.

    2. L'ACL suivante existe dans la configuration par défaut et définit 443 comme un port qui utilise le protocole HTTPS :

      acl SSL_ports port 443

      Si les utilisateurs doivent pouvoir utiliser le protocole HTTPS également sur d'autres ports, ajoutez une ACL pour chacun de ces ports :

      acl SSL_ports port port_number
    3. Mettez à jour la liste des règles acl Safe_ports pour configurer les ports sur lesquels Squid peut établir une connexion. Par exemple, pour configurer que les clients utilisant le proxy ne peuvent accéder aux ressources que sur les ports 21 (FTP), 80 (HTTP) et 443 (HTTPS), ne conservez que les déclarations acl Safe_ports suivantes dans la configuration :

      acl Safe_ports port 21
      acl Safe_ports port 80
      acl Safe_ports port 443

      Par défaut, la configuration contient la règle http_access deny !Safe_ports qui définit le refus d'accès aux ports qui ne sont pas définis dans les ACL Safe_ports.

    4. Configurez le type de cache, le chemin d'accès au répertoire du cache, la taille du cache et d'autres paramètres spécifiques au type de cache dans le paramètre cache_dir:

      cache_dir ufs /var/spool/squid 10000 16 256

      Avec ces paramètres :

      • Squid utilise le type de cache ufs.
      • Squid stocke son cache dans le répertoire /var/spool/squid/.
      • La mémoire cache peut atteindre 10000 MB.
      • Squid crée des sous-répertoires de niveau 1 16 dans le répertoire /var/spool/squid/.
      • Squid crée des sous-répertoires 256 dans chaque répertoire de niveau 1.

        Si vous ne définissez pas de directive cache_dir, Squid stocke le cache en mémoire.

  3. Si vous définissez un répertoire de cache différent de /var/spool/squid/ dans le paramètre cache_dir:

    1. Créer le répertoire du cache :

      # mkdir -p path_to_cache_directory
    2. Configurez les permissions pour le répertoire du cache :

      # chown squid:squid path_to_cache_directory
    3. Si vous utilisez SELinux en mode enforcing, définissez le contexte squid_cache_t pour le répertoire de cache :

      # semanage fcontext -a -t squid_cache_t "path_to_cache_directory(/.*)?"
      # restorecon -Rv path_to_cache_directory

      Si l'utilitaire semanage n'est pas disponible sur votre système, installez le paquet policycoreutils-python-utils.

  4. Ouvrez le port 3128 dans le pare-feu :

    # firewall-cmd --permanent --add-port=3128/tcp
    # firewall-cmd --reload
  5. Activez et démarrez le service squid:

    # systemctl enable --now squid

Verification steps

Pour vérifier que le proxy fonctionne correctement, téléchargez une page web à l'aide de l'utilitaire curl:

# curl -O -L "https://www.redhat.com/index.html" -x "proxy.example.com:3128"

Si curl n'affiche aucune erreur et que le fichier index.html a été téléchargé dans le répertoire actuel, le proxy fonctionne.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.