Open main menu

Manual:$wgSquidServers

This page is a translated version of the page Manual:$wgSquidServers and the translation is 92% complete.

Other languages:
English • ‎español • ‎magyar • ‎português do Brasil • ‎日本語
Squid: $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
Eliminado en la versión:aún se usa
Valores permitidos:no especificado
Valor predeterminado:[]
Antes de MW 1.4.0 no había ningún valor predeterminado.
Otros configuración: Alfabéticamente | Por Función
Aunque esta variable contiene la palabra Squid, también puede utilizarse con otros proxies caché, como Varnish.

Contents

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, 192.0.2.0/24) 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 con client.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
Las IPs de la lista se usan sólo a modo de ejemplo y siguiendo la definición del RFC 5737.

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.
En las versiones de MW anteriores a la 1.4.0, esta directiva no estaba definida en DefaultSettings.php (aunque su uso sí se comentaba allí). Esto puede haberse debido a que no estaba implantada correctamente, o simplemente por descuido.

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