IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

[Proxy] Configuration Squid : Problème de caching


Sujet :

Réseau

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Proxy] Configuration Squid : Problème de caching
    Bonjour à toutes et à tous.

    Je rencontre quelques problèmes dans l'utilisation de squid et je me demandais si d'autres avaient rencontré les mêmes problèmes que moi.
    J'aurais besoin d'un petit coup de main pour terminer la configuration de mon proxy squid (version 3.1) que l'on trouve sous linux :

    Mon objectifs est double.
    1 - Je souhaiterais dans un premier temps que mon squid se mette en mode proxy (et non reverse proxy) et qu'il puisse cacher tout ce qui passe par lui.
    2 - Dans un second temps, je veux permettre à ce proxy d'aller voir dans les caches d'autres proxy aux alentours pour chercher des données demandées par un utilisateurs.

    Pour la seconde partie, j'ai trouvé pas mal d'info par-ci par-la avec la directive
    cache_peer addressIP sibling 3128 3130 proxy-only

    Mais c'est dans le première partie que je n'arrive pas à faire cacher mon squid et je vois vraiment pas ce qui pêche dans mon fichier de configuration :
    Exemple :
    Un utilisateur demande une video une première fois.
    Le même utilisateur demande la même video une seconde fois, mais le squid va toujours chercher la video en DIRECT au lieu de la cacher au début et de ré-utiliser son cache.

    J'en obtiens la preuve dans access.log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1372093943.971      1 127.0.0.1 TCP_MISS/304 311 GET <a href="http://172.18.1.36/lala.mov" target="_blank">http://172.18.1.36/lala.mov</a> - DIRECT/172.18.1.36 -
    1372093978.679      2 127.0.0.1 TCP_MISS/304 311 GET <a href="http://172.18.1.36/lala.mov" target="_blank">http://172.18.1.36/lala.mov</a> - DIRECT/172.18.1.36 -
    1372094012.653     57 127.0.0.1 TCP_MISS/304 311 GET <a href="http://172.18.1.36/lala.mov" target="_blank">http://172.18.1.36/lala.mov</a> - DIRECT/172.18.1.36 -
    Est-ce que vous auriez des pistes ou bien quelques idées pour regler ce problème ?

    Je vous explique vite fait ce que je pense avoir fait dans ma configuration :
    - Création d'acl pour le control d'acces
    - port de ICP : 3128
    - autorisation d'acces des machines dans mon lan pour HTTP
    - autorisation d'acces des machines dans mon lan pour ICP
    - ICP écoute sur le port 3130
    - HTTP écoute sur le port 3128
    - Allocation de mémoire vive pour le caching : 8MB
    - politique de remplacement mémoire : lru
    - politique de remplacement du cache : lru
    - Où se trouve le cache , les logs ect ...
    - taille min et max des objet pouvant etre cacher : 0KB à 40000KB
    - Acces autorisé au cache par tout le monde
    - Les refresh pattern de base proposé par la fichier de configuration initial

    Voici mon fichier de configuration pour plus de détails :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    #	WELCOME TO SQUID 3.1.19
     
    acl manager proto cache_object
    acl localhost src 127.0.0.1/32
    acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
     
    acl localnet src 10.0.0.0/8	# RFC1918 possible internal network
    acl localnet src 172.16.0.0/12	# RFC1918 possible internal network
    acl localnet src 192.168.0.0/16	# RFC1918 possible internal network
    #
    acl SSL_ports port 443		# https
    acl SSL_ports port 563		# snews
    acl SSL_ports port 873		# rsync
    acl Safe_ports port 80		# http
    acl Safe_ports port 21		# ftp
    acl Safe_ports port 443		# https
    acl Safe_ports port 70		# gopher
    acl Safe_ports port 210		# wais
    acl Safe_ports port 1025-65535	# unregistered ports
    acl Safe_ports port 280		# http-mgmt
    acl Safe_ports port 488		# gss-http
    acl Safe_ports port 591		# filemaker
    acl Safe_ports port 777		# multiling http
    acl Safe_ports port 631		# cups
    acl Safe_ports port 873		# rsync
    acl Safe_ports port 901		# SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
     
    http_access allow manager localhost
    http_access deny manager
    # Only allow purge requests from localhost
    http_access allow purge localhost
    http_access deny purge
    # Deny requests to unknown ports
    http_access deny !Safe_ports
    # Deny CONNECT to other than SSL ports
    http_access deny CONNECT !SSL_ports
     
    http_access allow localnet
    http_access allow localhost
     
    # Finally deny all other access to this proxy
    http_access deny all
     
    #Allow ICP queries from local networks only
    icp_access allow localnet
    icp_access deny all
     
    icp_port 3130
    http_port 3128 
     
    #  TAG: hierarchy_stoplist
    hierarchy_stoplist cgi-bin ?
     
    # MEMORY CACHE OPTIONS
    # -----------------------------------------------------------------------------
     cache_mem 8 MB
     maximum_object_size_in_memory 8 KB
     memory_replacement_policy lru
     
    # DISK CACHE OPTIONS
    # -----------------------------------------------------------------------------
    cache_replacement_policy lru
    cache_dir ufs /var/spool/squid3 100 16 256
    minimum_object_size 0 KB
    maximum_object_size 40000 KB
     
    # LOGFILE OPTIONS
    # -----------------------------------------------------------------------------
    access_log /var/log/squid3/access.log squid
    cache_store_log /var/log/squid3/store.log
     
    # OPTIONS FOR TUNING THE CACHE
    # -----------------------------------------------------------------------------
    cache allow all
    #  TAG: refresh_pattern
    #Suggested default:
    refresh_pattern ^ftp:		1440	20%	10080
    refresh_pattern ^gopher:	1440	0%	1440
    refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
    refresh_pattern (Release|Packages(.gz)*)$	0	20%	2880
    # example line deb packages
    #refresh_pattern (\.deb|\.udeb)$   129600 100% 129600
    #refresh_pattern .		0	20%	4320
    #refresh_pattern -i \.(mov)\??(.*?)$ 0 0% 99999 reload-into-ims refresh-ims 
     
    # ADVANCED NETWORKING OPTIONS
    # -----------------------------------------------------------------------------
    hosts_file /etc/hosts
    coredump_dir /var/spool/squid3
     
    cache deny all

    Merci d'avance pour vos réponses !!
    Et bonne soirée

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Edit : J'ai réussi.

    Je partage la solution si des personnes étaient dans le même cas :

    Il faaut authoriser l'http_access sur les ports safe via la directive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http_access allow Safe_ports
    Cependant, il me reste un petit problème : Je n'arrive seulement qu'a cacher des gros fichiers (type video.mov ...) mais pas les petits objets.
    A chaque fois, j'obtiens TCP_REFRESH_UNMODIFIED/304 puis un GET DIRECT. Ce qui veut dire que le squid va voir dans le serveur d'origin si le fichier est à jour mais le récupère quand même.


    Est ce que vous sauriez s'il y a moyen de ne pas aller vérifier dans le serveur d'origine ? Ou bien si il y a vérification (et qu'on a un UNMODIFIED), comment faire pour ne pas aller récupérer le fichier en question ?

    Merci d'avance

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Re-Edit :

    En fait, non je n'ai pas réussi. Ca ne cache rien du tout ...

    Vous auriez des idées ?

  4. #4
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Bonjour,

    Je pense que les refresh_pattern ne cache pas assez le objet "static" images vidéo... et puis il faut tester avec plusieurs machine ou navigateur, car le cache navigateur entre aussi en jeu.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Salut,
    Par defaut Squid ne sait pas cacher les objets CDN comme les bouts de videos de YouTube, DailyMotion, etc..., tu dois utiliser un outil comme le SquidVideoBooster qui va faire ca pour toi en automatique.
    Lien: https://sourceforge.net/projects/squidvideosbooster/
    Ce plugin est compatible Squid 2.7, 3.4 et 3.5.
    Les autres versions de Squid n'ont les API necessaires pour permettre au plugin de travailler.

    Bye Fred

Discussions similaires

  1. Problème de cache Squid
    Par nb75009 dans le forum Réseau
    Réponses: 2
    Dernier message: 17/08/2012, 11h39
  2. Problème de configuration squid
    Par Bouki dans le forum Administration système
    Réponses: 0
    Dernier message: 02/02/2012, 16h00
  3. Problème de configuration squid
    Par nivault dans le forum Réseau
    Réponses: 0
    Dernier message: 17/09/2007, 16h38
  4. Problème de cache avec Oracle 8i
    Par lper dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/11/2004, 16h50
  5. Problème de cache avec oracle 8 i
    Par lper dans le forum Oracle
    Réponses: 11
    Dernier message: 08/11/2004, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo