Jump to content

Manual:$wgCdnServers

From mediawiki.org
This page is a translated version of the page Manual:$wgCdnServers and the translation is 19% complete.
Setelan proxy HTTP (CDN): $wgCdnServers
Larik server proxy individual untuk membantu MediaWiki mendeteksi jika permintaan telah diproksikan.
Tetapi juga untuk mengirim kembali ke perintah PURGE proxy pada perubahan.
Introduced in version:1.34.0 (Gerrit change 387877; git #f9f8dff4)
Removed in version:Still in use
Allowed values:Unspecified
Default value:[]
Sebelum 1.4.0 tidak ada nilai default yang ditetapkan.

Rincian

Variabel ini adalah tentang memberi tahu MediaWiki tentang alamat IP individu dari setiap server Proxy yang menyajikan konten kepada pengunjung Anda.

You can also specify port numbers explicitly. However, if you specify port numbers, you need to add the same IP to $wgCdnServersNoPurge , otherwise the server will not be recognized as a configured proxy (known bug 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)

Note that if you have CIDR ranges (e.g. 192.0.2.0/24), make sure you set them in $wgCdnServersNoPurge instead.

The setting can be used in many Proxy setups, both within a private network or through an external provider, and also with external services that are based on either Varnish or Squid.

Contoh konfigurasi dengan Varnish

Consider the following setup details:

  • one and/or more web servers ("origins") with MediaWiki running
  • Varnish configuration points to your MediaWiki origins
  • You have a few Varnish servers that proxies requests for the web servers

Here are the configurations you have to set in place:

  • In Varnish, set a X-Forwarded-For HTTP header with client.ip, example:
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  • Create an array of servers. Ideally it should be IP in decimal format but those would work
// In 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";  // Also works if you have a DNS configured on every MW origins. But it's not recommended.
#$wgCdnServers[] = "192.0.2.0/24";       // WON’T WORK, refer to $wgCdnServersNoPurge
The following IP are for example purpose, defined in from RFC 5737.

TODO: Insert example of a valid IPv6 address that is part of 2001:DB8::/32 range as per RFC3849

Usage notes and history

  • Specifying the port number of your proxy software is not necessary.

This will be useful when you don't run your proxy software at port 80 (used by default).

  • Any IPs listed in this array will be treated as trusted surrogates (reverse proxies)
  • IP addresses displayed for users connected via these Squid/Varnish servers therefore will match individual user IPs, not the Squid's IP.

Format

  • Each entry can be either IPv6/IPv4 addresses in octal format (e.g. 192.0.2.3)

Anything described in includes/utils/IP.php should be valid.

See also