Manuel:$wgCdnServers
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. |
Autres paramètres : Alphabétique | Par fonction |
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
avecclient.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
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
- Manuel:$wgCdnServersNoPurge (réglage équivalent, pour les plages CIDR)
- Manual:Hooks/IsTrustedProxy - pour modifier dynamiquement la liste proxy
- Manual:$wgUseCdn
- Manuel:$wgUsePrivateIPs