Manual:$wgCdnServers
HTTP プロキシ (CDN) 設定: $wgCdnServers | |
---|---|
MediaWiki がリクエストがプロキシされているかどうかを検出するのに役立つ個別のプロキシ サーバーの配列。 ただし、変更時に PURGE コマンドをプロキシに送り返すこともできる。 |
|
導入されたバージョン: | 1.34.0 (Gerrit change 387877; git #f9f8dff4) |
除去されたバージョン: | 使用中 |
許容される値: | 未指定 |
既定値: | [] 1.4.0 未満では、既定値は設定されていませんでした。 |
その他の設定: アルファベット順 | 機能順 |
詳細
この変数は、訪問者にコンテンツを提供する各プロキシサーバーの「個々の」IPアドレスをMediaWikiに伝えるためのものです。
ポート番号を明示的に指定することもできます。
ただし、ポート番号を指定する場合は、同じIPを $wgCdnServersNoPurge
に追加する必要があります。そうしないと、サーバーは構成済みプロキシとして認識されません(既知のバグ 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)
CIDR範囲(例:192.0.2.0/24
)がある場合は、代わりに$wgCdnServersNoPurge に設定してください。
この設定は、プライベートネットワーク内または外部プロバイダーを介した多くのプロキシ設定で使用できます。また、VarnishまたはSquidに基づく外部サービスでも使用できます。
Varnishを使用した構成例
次のセットアップの詳細を考慮してください。
- MediaWikiが実行されている1つまたは複数のWebサーバー("オリジン")
- ワニスの構成はMediaWikiの起源を指します
- Webサーバーのリクエストをプロキシする Varnish サーバーがいくつかあります
- 単一のIPアドレスのリストがあります(CIDR範囲ではなく、代わりに$wgCdnServersNoPurge になります!)
設定する必要のある構成は次のとおりです。
- Varnishで、
client.ip
を使用してX-Forwarded-For
HTTPヘッダーを設定します。例:
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
- サーバーのアレイを作成します。理想的には10進形式のIPである必要がありますが、それらは機能します
// 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"; // すべてのMWオリジンにDNSが構成されている場合にも機能します。 この設定はお勧めしません。
#$wgCdnServers[] = "192.0.2.0/24"; // 動作しません。$wgCdnServersNoPurgeを参照してください
次のIPは、たとえば目的のためのもので、RFC 5737から定義されています。
TODO: RFC3849 に従って 2001:DB8::/32
の範囲の一部である有効な IPv6 アドレスの例を挿入します
使用上の注意と履歴
- プロキシソフトウェアのポート番号を指定する必要はありません。 これは、プロキシソフトウェアをポート80(デフォルトで使用)で実行しない場合に役立ちます。
- このアレイにリストされているIPはすべて、信頼できるサロゲート(リバースプロキシ)として扱われます。
- したがって、これらのSquid / Varnishサーバーを介して接続されたユーザーに表示されるIPアドレスは、SquidのIPではなく、個々のユーザーIPと一致します。
書式
- 各エントリは、8進形式のIPv6 / IPv4アドレス(例:
192.0.2.3
)のいずれかです。 - CIDR表記と範囲は$wgCdnServersNoPurge で構成する必要があります
includes/utils/IP.phpに記載されているものはすべて有効である必要があります。
関連項目
- Manual:$wgCdnServersNoPurge (CIDR範囲の同等の設定)
- Manual:Hooks/IsTrustedProxy - プロキシリストを動的に変更するには
- Manual:$wgUseCdn
- Manual:$wgUsePrivateIPs