Manuel:$wgCdnServers

This page is a translated version of the page Manual:$wgCdnServers and the translation is 100% complete.
Paramètres de proxy HTTP (CDN): $wgCdnServers
Un tableau de serveurs proxy individuels pour aider MediaWiki à détecter si la requête a été proxy.
Mais aussi pour renvoyer au proxy les commandes PURGE sur les changements.
Introduit dans la version :1.34.0 (Gerrit change 387877; git #f9f8dff4)
Retiré dans la version :Encore utilisé
Valeurs autorisées :Non renseigné
Valeur par défaut :[]
Avant la version 1.4.0, aucune valeur par défaut n'était définie.

Détails

Cette variable indique à MediaWiki quelles sont les adresses IP individuelles' de chaque serveur Proxy qui sert du contenu à vos visiteurs.

Vous pouvez également spécifier explicitement les numéros de port. Cependant, si vous spécifiez des numéros de port, vous devez ajouter la même IP à $wgCdnServersNoPurge , sinon le serveur ne sera pas reconnu comme un proxy configuré (bogue connu T132538).

If you are upgrading to a MediaWiki version prior to 1.35 you might now need to specify port 80 explicitly if you are using that port. E.g. myserver:80. Otherwise the port 1080 will be assumed. (https://phabricator.wikimedia.org/T291768)

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

Le réglage peut être utilisé dans de nombreuses configurations Proxy, à la fois au sein d’un réseau privé ou via un fournisseur externe, et aussi avec des services externes basés sur Varnish ou Squid.

Exemple de configuration avec Varnish

Tenez compte des détails de configuration suivants:

  • un et/ou plusieurs serveurs web ("origins") avec MediaWiki en cours d’exécution

̈ La configuration de Varnish pointe vers vos origines MediaWiki

  • Vous avez quelques serveurs Varnish qui fournissent des requêtes pour les serveurs web
  • Vous avez une liste de adresses IP uniques (pas de plages CIDR, qui irait dans $wgCdnServersNoPurge à la place !)

Voici les configurations que vous devez mettre en place:

  • Dans Varnish, définissez un en-tête HTTP X-Forwarded-For avec client.ip, par exemple:
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  • Créer un tableau de serveurs. Idéalement, il devrait s’agir d’IP en format décimal, mais cela fonctionnerait.
// Dans LocalSettings.php
$wgUseCdn = true;
$wgCdnServers = array();
$wgCdnServers[] = "192.0.2.100";
$wgCdnServers[] = "192.0.2.107";
$wgCdnServers[] = "192.0.2.200";
$wgCdnServers[] = "some.internal.name";  // Fonctionne également si vous avez un DNS configuré sur chaque origine MW. Mais ce n’est pas recommandé.
#$wgCdnServers[] = "192.0.2.0/24";       // WON’T WORK, se référer à $wgCdnServersNoPurge
The following IP are for example purpose, defined in from RFC 5737.

TODO : Insérer un exemple d’une IPv6 address valide qui fait partie de la plage 2001:DB8::/32 par RFC3849

Notes d’utilisation et historique

  • Il n’est pas nécessaire de spécifier le numéro de port de votre logiciel proxy. Cela sera utile lorsque vous n’exécutez pas votre logiciel proxy au port 80 (utilisé par défaut).
  • Toutes les adresses IP listées dans ce tableau seront traitées comme des substituts de confiance (proxy inversés)
  • Les adresses IP affichées pour les utilisateurs connectés via ces serveurs Squid/Varnish correspondent donc aux adresses IP des utilisateurs individuels, et non à celles du Squid.

Format

  • Chaque entrée peut être soit IPv6/IPv4 en format octal (par ex. 192.0.2.3)
  • La notation et les plages du CIDR doivent être configurées en $wgCdnServersNoPurge

Tout ce qui est décrit dans includes/utils/IP.php devrait être valide.

Voir aussi