Jump to content

Manuel:$wgSquidServers

From mediawiki.org
This page is a translated version of the page Manual:$wgSquidServers and the translation is 100% complete.
Paramètres de proxy HTTP (CDN): $wgSquidServers
Tableau de serveurs proxy individuels pour aider MediaWiki à détecter si la requête a été répondue par un proxy.
Mais aussi pour renvoyer au proxy les commandes de PURGE sur les changements.
Introduit dans la version :1.2.0
Obsolète dans la version :1.34.0 (Gerrit change 387877; git #f9f8dff4)
Retiré dans la version :1.35.0 (Gerrit change 579755; git #e8d9d68b)
Valeurs autorisées :Non renseigné
Valeur par défaut :[]
Avant la version 1.4.0, aucune valeur par défaut n'était définie.
Bien que Squid figure dans le nom de cette variable, elle peut également être utilisée avec d'autres proxy de cache comme Varnish.

Détails

Cette variable donne à MediaWiki les adresses IP individuelles de chaque proxy serveur qui fournit le contenu à vos visiteurs.

Vous pouvez également spécifier explicitement les numéros de port. Néanmoins si vous utilisez les numéros de port vous devez ajouter la même adresse à $wgSquidServersNoPurge , sinon le serveur ne sera pas reconnu dans la liste des proxy configurés (bogue connu T132538).

Notez que si vous avez des intervalles CIDR (par exemple 192.0.2.0/24), assurez-vous de les définir dans $wgSquidServersNoPurge à la place.

Le paramètre peut être utilisé dans plusieurs configurations de proxy à la fois pour des réseaux privés ou via un fournisseur externe et aussi avec des services externes basés soit sur Varnish ou sur Squid.

Exemple de configuration avec Varnish

Tenez compte des détails de configuration suivants :

  • un et (ou) plusieurs serveurs web (origines) où s'exécute MediaWiki
  • la configuration de Varnish pointe vers les MediaWiki des origines
  • Si vous disposez de quelques serveurs Varnish qui jouent le rôle de proxy pour les requêtes des serveurs web
  • Vous avez une liste de adresses IP uniques (pas d'intervalle CIDR, qui irait dans $wgSquidServersNoPurge à la place !)

Voici les paramètres à initialiser à la place :

  • Dans Varnish, initialiser une entête HTTP X-Forwarded-For avec client.ip, exemple :
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  • Créer un tableau de serveurs. Idéalement, il doit s’agir d'adresses IP en format décimal, mais cela devrait fonctionner.
// Dans LocalSettings.php
$wgUseSquid = true;
$wgSquidServers = array();
$wgSquidServers[] = "192.0.2.100"; 
$wgSquidServers[] = "192.0.2.107";
$wgSquidServers[] = "192.0.2.200";
$wgSquidServers[] = "some.internal.name";  // Fonctionne également si vous avez un DNS configuré sur chaque Mediawiki origine. Mais ce n’est pas recommandé.
#$wgSquidServers[] = "192.0.2.0/24";       // NE FONCTIONNE PAS, voir $wgSquidServersNoPurge
Les adresses IP utilisées ne sont la qu'à titre d'exemple, elles sont issues de RFC 5737.


A FAIRE : Insérer un exemple d’adresse IPv6 qui fait partie de l'intervalle 2001:DB8::/32 selon la RFC3849


Notes d’utilisation et historique

  • Il n’est pas nécessaire de spécifier le numéro de port de votre logiciel proxy. Mais vous pouvez faire cela avec MediaWiki 1.16+ . C'est utile si le logiciel de votre proxy n'utilise pas le port 80 (utilisé par défaut).
  • Toutes les adresses IP listées dans ce tableau sont traitées comme des substituts de confiance (proxy inverses)
  • Les adresses IP affichées pour les utilisateurs connectés via ces serveurs Squid ou Varnish correspondent donc aux adresses IP des utilisateurs individuels, et non à celles de Squid.
Dans les versions 1.4.0- ce paramètre n'a pas été défini dans DefaultSettings.php (bien que son utilisation y ait été mise en commentaire). C'est probablement parce qu'il n'a pas été implémenté correctement ou d'un oubli.

Format

  • Chaque entrée peut être des adresses soit IPv6 ou IPv4 au format octal (comme 192.0.2.3)
  • la notation CIDR notation et les intervalles doivent être définis dans $wgSquidServersNoPurge

Tout ce qui figure dans includes/utils/IP.php doit être valide.

Voir aussi