Modifications entre les versions 7 et 11 (s'étendant sur 4 versions)
Version 7 à la date du 2008-05-09 20:08:03
Taille: 2554
Commentaire: améliorations pour l'interception et redirection...
Version 11 à la date du 2008-06-02 12:28:47
Taille: 2669
Commentaire: p'tit truc en plus pour SVN...
Texte supprimé. Texte ajouté.
Ligne 7: Ligne 7:
  `extension_methods REPORT MERGE MKACTIVITY CHECKOUT`   `extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND`
Ligne 14: Ligne 14:
acl url_rewrite dstdomain .ubuntu.com .debian.org www.backports.org apt.hanoilug.org apt.auf.org acl url_rewrite dstdomain .ubuntu.com .medibuntu.org .debian.org www.backports.org apt.hanoilug.org apt.auf.org
Ligne 20: Ligne 20:
Exemple de script de redirection ('''mauvais''' mais fonctionnel, fait à la vas-vite pour une urgence...) : {{{ Exemple de script de redirection ('''mauvais''' mais fonctionnel, fait à la vas-vite pour une urgence...) : {{{#!shell
Ligne 24: Ligne 24:
#
# Depends: libwww-perl (pour la commande HEAD)
Ligne 29: Ligne 31:
MIRROR="cnf.vn.refer.org/mirror"
Ligne 32: Ligne 35:
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/apt.hanoilug.org\/ubuntu\//://cnf.vn.refer.org/mirror/ubuntu/hanoilug/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.ubuntu.co
m\/ubuntu\//://cnf.vn.refer.org/mirror/ubuntu/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*archive.ubuntu.com\/ubuntu\//://cnf.vn.refer.org/mirror/ubuntu/archive
/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\/debian-security\//://cnf.vn.refer.org/mirror/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\//://cnf.vn.refer.org/mirror
/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/volatile.debian.org\/debian-volatile\//://cnf.vn.refer.org/mirror/debian/volatile/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/ftp*.debian.org\/debian\//://cnf.vn.refer.org/mirror/debian/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/www.backports.org\/debian\//://cnf.vn.refer.org/mirror/debian/backports/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/apt.hanoilug.org\/ubuntu\//://${MIRROR}/ubuntu/hanoilug/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*archi
ve.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*packa
ges.medibuntu.org\/ubuntu\//://${MIRROR}/ubuntu/medibuntu/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\/debian-security\//://${MIRROR}/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian
.org\//://${MIRROR}/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/volatile.debian.org\/debian-volatile\//://${MIRROR}/debian/volatile/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/ftp*.debian.org\/debian\//://${MIRROR}/debian/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/www.backports.org\/debian\//://${MIRROR}/debian/backports/}"

Cette page décrira notre utilisation de Squid à l'AUF.

Trucs et astuces (en attendant une vraie doc...)

  • laisser la valeur cache_mem à 8 MB, l'augmenter n'augmentera pas les performances, au contraire

  • ajouter ceci pour supporter les accès Subversion via HTTP :

    • extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND

  • corriger la taille maximale pour les objets mis dans le cache (4 Mo par défaut) :
    • maximum_object_size 10 MB (valeur arbitraire)

Interception et redirection de requêtes vers un miroir local

Exemple d'options pour intercepter et rediriger les téléchargements de paquets Ubuntu vers son miroir local :

acl url_rewrite dstdomain .ubuntu.com .medibuntu.org .debian.org www.backports.org apt.hanoilug.org apt.auf.org
url_rewrite_access allow url_rewrite
url_rewrite_program /usr/local/sbin/squid-redirector
url_rewrite_children 5

Exemple de script de redirection (mauvais mais fonctionnel, fait à la vas-vite pour une urgence...) :

#!/bin/bash
# /usr/local/sbin/squid-redirector, Progfou, 2008-01-14
# À refaire en Perl ou Python, un jour...
#
# Depends: libwww-perl (pour la commande HEAD)
#
# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup <NL>
#
# ATTENTION : le miroir est incomplet => ne pas tout rediriger bêtement !!
#
MIRROR="cnf.vn.refer.org/mirror"
while read URL CLIENT USER METHOD GROUP
do
  URL2="${URL/:\/\/apt.auf.org\//://cnf.vn.refer.org/mirror/auf/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/apt.hanoilug.org\/ubuntu\//://${MIRROR}/ubuntu/hanoilug/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*archive.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*packages.medibuntu.org\/ubuntu\//://${MIRROR}/ubuntu/medibuntu/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\/debian-security\//://${MIRROR}/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\//://${MIRROR}/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/volatile.debian.org\/debian-volatile\//://${MIRROR}/debian/volatile/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/ftp*.debian.org\/debian\//://${MIRROR}/debian/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/www.backports.org\/debian\//://${MIRROR}/debian/backports/}"
  if [ "$URL2" != "$URL" ] && HEAD "$URL2" > /dev/null
  then
    echo "$URL2"
  else
    echo "$URL"
  fi
done
exit 0

Squid (dernière édition le 2014-02-19 22:57:50 par JeanChristopheAndré)