Manual:$wgSquidServers
Esta función se eliminó del núcleo de MediaWiki en la versión 1.35.0. Véase $wgCdnServers para encontrar una forma alternativa de usar esta función. |
HTTP proxy (CDN) settings: $wgSquidServers | |
---|---|
Una matriz de servidores proxy individuales para ayudar a MediaWiki a detectar si la petición ha pasado por un proxy. También sirve para enviar de vuelta al proxy comandos PURGE al producirse cambios. |
|
Introducido en la versión: | 1.2.0 |
Desaconsejado en versión: | 1.34.0 (Gerrit change 387877; git #f9f8dff4) |
Eliminado en la versión: | 1.35.0 (Gerrit change 579755; git #e8d9d68b) |
Valores permitidos: | no especificado |
Valor predeterminado: | [] Antes de MW 1.4.0 no había ningún valor predeterminado. |
Otras configuraciones: Alfabéticamente | Por Función |
Detalles
Esta variable sirve para decirle a MediaWiki cuáles son las direcciones IP individuales de cada servidor proxy que sirve contenido a tus visitantes.
You can also specify port numbers explicitly.
However, if you specify port numbers, you need to add the same IP to $wgSquidServersNoPurge
, otherwise the server will not be recognized as a configured proxy (known bug T132538).
Ten en cuenta que si tienes rangos CIDR (por ejemplo, $cdir) debes asegurarte de indicarlos en $wgSquidServersNoPurge.
La directiva puede usarse en muchas configuraciones proxy, ya sea dentro de una red privada, a través de un proveedor externo, y también con servicios externos que estén basados ya sea en Varnish o en Squid.
Ejemplo de configuración con Varnish
Supongamos esta situación hipotética:
- Uno o más servidores web ("orígenes") donde corre MediaWiki.
- Configuración de Varnish apuntando a tus orígenes con MediaWiki.
- Tienes unos pocos servidores Varnish que pasan por proxy peticiones a los servidores web.
- Tienes una lista de direcciones IP individuales (¡no rangos CIDR, que éso iría en $wgSquidServersNoPurge!).
Ésta es la configuración que tienes que hacer:
- En Varnish, habilita una cabecera HTTP
X-Forwarded-For
conclient.ip
, por ejemplo:
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
- Crea una matriz de servidores. Lo ideal serían una serie de IPs en formato decimal, pero esto serviría:
// En 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"; // También funciona si tienes un DNS configurado en cada origen con MW. Pero no se recomienda.
#$wgSquidServers[] = "192.0.2.0/24"; // NO FUNCIONARÁ, mira $wgSquidServersNoPurge
TODO: Insert example of a valid IPv6 address that is part of 2001:DB8::/32
range as per RFC3849
Notas de uso e historial
- No es necesario indicar el número de puerto de tu software proxy. Pero puedes hacerlo con MediaWiki 1.16 y posteriores. Esto te vendrá bien si no corres tu software proxy en el puerto 80 (usado de forma predeterminada).
- Cualquier IP que figure en esta matriz se tratará como surrogada de confianza (proxies inversos).
- Las direcciones IPs mostradas para usuarios conectados a través de estos servidores Squid/Varnish aludirán por lo tanto a IPs de usuarios individuales, no a la IP de Squid.
Formato
- Cada elemento debe ser una dirección IPv6 o IPv4 en formato octal (por ejemplo
192.0.2.3
)
- La notación y los rangos CIDR deben configurarse en $wgSquidServersNoPurge
Todo lo que se describe en includes/utils/IP.php debería ser válido.
Véase también
- Manual:$wgSquidServersNoPurge (directiva equivalente, para rangos CIDR)
- Manual:Hooks/IsTrustedProxy to modify the proxy list dynamically
- Manual:$wgUseSquid
- Manual:$wgUsePrivateIPs