Příručka:$wgSquidServers

This page is a translated version of the page Manual:$wgSquidServers and the translation is 100% complete.
Nastavení HTTP proxy (CDN).: $wgSquidServers
Pole jednotlivých proxy serverů, které MediaWiki pomáhají zjistit, zda byl požadavek zadán proxy.
Ale také posílá zpět do proxy příkazy PURGE o změnách.
Zavedeno od verze:1.2.0
Nepoužívá se od verze:1.34.0 (Gerrit change 387877; git #f9f8dff4)
Odstraněno od verze:1.35.0 (Gerrit change 579755; git #e8d9d68b)
Povolené hodnoty:Blíže neurčeno
Výchozí hodnota:[]
Před verzí 1.4.0 nebyla nastavena žádná výchozí hodnota.
Ačkoli tato proměnná obsahuje slovo Squid, lze ji také použít s jinými servery proxy pro ukládání do mezipaměti, jako je Varnish.

Podrobnosti

Tato proměnná říká MediaWiki, jaké jsou individuální IP adresy jednotlivých proxy serverů, které poskytují obsah vašim návštěvníkům.

Čísla portů můžete zadat také explicitně. Pokud však zadáte čísla portů, musíte přidat stejnou IP k $wgSquidServersNoPurge , jinak nebude server rozpoznán jako nakonfigurovaný proxy (známá chyba T132538).

Všimněte si, že pokud máte rozsahy CIDR (např. 192.0.2.0/24), ujistěte se, že jste je místo toho nastavili na $wgSquidServersNoPurge .

Nastavení lze použít v mnoha nastaveních proxy, a to jak v rámci privátní sítě nebo prostřednictvím externího poskytovatele, tak také s externími službami, které jsou založeny buď na Varnish nebo na Squid.

Příklad konfigurace s Varnish

Zvažte následující podrobnosti nastavení:

  • Jeden a/nebo více webových serverů ("origins") se spuštěnou MediaWiki
  • Konfigurace Varnish ukazuje na váš původ MediaWiki
  • Máte několik Varnish serverů, které zastupují požadavky na webové servery
  • Máte seznam jednotných IP adres (nikoli rozsahů CIDR, místo toho by to bylo $wgSquidServersNoPurge !)

Zde jsou konfigurace, které musíte nastavit:

  • Ve Varnish nastavte X-Forwarded-For HTTP hlavičku s client.ip, příklad:
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  • Vytvořte řadu serverů. V ideálním případě by měla být IP v desítkovém formátu, ale to by fungovalo
// V 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";  // Funguje také, pokud máte DNS nakonfigurován na každém zdroji MW. Ale to se nedoporučuje.
#$wgSquidServers[] = "192.0.2.0/24";       // NEFUNGUJE, viz $wgSquidServersNoPurge
Následující IP jsou například účelové, definované v RFC 5737.

TODO: Vložte příklad platné IPv6 adresy, která je součástí rozsahu 2001:DB8::/32 podle RFC3849

Poznámky k použití a historie

  • Zadání čísla portu vašeho proxy softwaru není nutné. Ale můžete to udělat pro MediaWiki 1.16 a vyšší. To bude užitečné, když nespouštíte software proxy na portu 80 (ve výchozím nastavení).
  • Všechny IP adresy uvedené v tomto poli budou považovány za důvěryhodné náhradníky (reverzní proxy)
  • IP adresy zobrazené pro uživatele připojené přes tyto servery Squid/Varnish se proto budou shodovat s IP jednotlivých uživatelů, nikoli s IP Squid.
Ve verzích před 1.4.0 nebylo toto nastavení definováno v DefaultSettings.php (ačkoli tam bylo jeho použití komentováno). Mohlo to být proto, že nebyl správně implementováno, nebo to mohlo být prostě nedopatřením.

Formát

  • Každá položka může být adresa IPv6/IPv4 v osmičkovém formátu (např. 192.0.2.3)
  • Zápis CIDR a rozsahy by měly být nakonfigurovány v $wgSquidServersNoPurge

Cokoli popsané v includes/utils/IP.php by mělo být platné.

Související odkazy