374
Commentaire:
|
2742
contexte légal
|
Texte supprimé. | Texte ajouté. |
Ligne 3: | Ligne 3: |
Petites notes rapides en attendant : * ajouter ceci pour supporter les accès [:Subversion:] via HTTP : `extension_methods REPORT MERGE MKACTIVITY CHECKOUT` |
= Trucs et astuces (en attendant une vraie doc...) = * laisser la valeur `cache_mem` à `8 MB`, l'augmenter n'augmentera pas les performances, [[http://varnish.projects.linpro.no/wiki/ArchitectNotes|au contraire]] * ajouter ceci pour supporter les accès [[Subversion]] via HTTP : `extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND` |
Ligne 7: | Ligne 9: |
`maximum_object_size 10240 KB` ''(valeur arbitraire)'' | `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 }}} Exemple de script de redirection ('''mauvais''' mais fonctionnel, fait à la vas-vite pour une urgence...) : {{{#!shell #!/bin/bash # /usr/local/sbin/squid-redirector # Auteur : Progfou <jean-christophe.andre@auf.org> # Licence : Domaine public # Création : 2008-01-14 # Dépendances : libwww-perl (pour la commande HEAD) # # TODO: À refaire en Perl ou Python, un jour... # # 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 }}} |
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
Exemple de script de redirection (mauvais mais fonctionnel, fait à la vas-vite pour une urgence...) :
#!/bin/bash # /usr/local/sbin/squid-redirector # Auteur : Progfou <jean-christophe.andre@auf.org> # Licence : Domaine public # Création : 2008-01-14 # Dépendances : libwww-perl (pour la commande HEAD) # # TODO: À refaire en Perl ou Python, un jour... # # 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