• Configuración de ejemplo
  • Directivas
  • mapa
  • map_hash_bucket_size
  • map_hash_max_size

los ngx_http_map_module El módulo crea variables cuyos valores dependen de los valores de otras variables.

Configuración de ejemplo

map$http_host$namehostnames;default0;example.com1;
    *.example.com 1;example.org2;
    *.example.org 2;
    .example.net  3;wap.*4;map$http_user_agent$mobiledefault0;
    "~Opera Mini" 1;

Directivas

Sintaxis: mapstring$variable ...
Por defecto:
Contexto: http

Crea una nueva variable cuyo valor depende de los valores de una o más de las variables de origen especificadas en el primer parámetro.

Antes de la versión 0.9.0, solo se podía especificar una única variable en el primer parámetro.

Dado que las variables se evalúan solo cuando se utilizan, la mera declaración, incluso de un gran número de “map” variables no añade ningún coste extra a la tramitación de la solicitud.

Parámetros dentro del map block especifica un mapeo entre la fuente y los valores resultantes.

Los valores de origen se especifican como cadenas o expresiones regulares (0.9.6).

Las cadenas se emparejan ignorando el caso.

Una expresión regular debe comenzar desde el “~símbolo ” para una coincidencia que distingue entre mayúsculas y minúsculas, o desde el símbolo “~*” símbolos (1.0.4) para coincidencias sin distinción entre mayúsculas y minúsculas. Una expresión regular puede contener capturas posicionales y con nombre que luego se pueden usar en otras directivas junto con la variable resultante.

Si un valor de origen coincide con uno de los nombres de los parámetros especiales que se describen a continuación, debe tener el prefijo “” símbolo.

El valor resultante puede contener texto, variable (0.9.0) y su combinación (1.11.0).

También se admiten los siguientes parámetros especiales:

defaultvalue
establece el valor resultante si el valor de origen no coincide con ninguna de las variantes especificadas. Cuándo default no se especifica, el valor resultante predeterminado será un valor vacío string.
hostnames
indica que los valores de origen pueden ser nombres de host con un prefix o máscara de sufijo:

*.example.com 1;example.*1;

Los siguientes dos registros

example.com1;
*.example.com 1;

se puede combinar:

.example.com  1;

Este parámetro debe especificarse antes de la lista de valores.

includefile
incluye un archivo con valores. Puede haber varias inclusiones.
volatile
indica que la variable no se puede almacenar en caché (1.11.7).

Si el valor de origen coincide con más de una de las variantes especificadas, por ejemplo, tanto una máscara como una expresión regular coinciden, se elegirá la primera variante coincidente, en el siguiente orden de prioridad:

  1. string valor sin máscara
  2. más largo string valor con un prefix máscara, por ejemplo, “*.example.com
  3. más largo string valor con una máscara de sufijo, por ejemplo, “mail.*
  4. primera expresión regular coincidente (en orden de aparición en un archivo de configuración)
  5. valor por defecto
Sintaxis: map_hash_bucket_sizesize;
Por defecto: map_hash_bucket_size 32|64|128;
Contexto: http

Establece el tamaño del cubo para las tablas hash de variables de mapa. El valor predeterminado depende del tamaño de la línea de caché del procesador. Los detalles de la configuración de tablas hash se proporcionan en un documento separado.

Sintaxis: map_hash_max_sizesize;
Por defecto: map_hash_max_size 2048;
Contexto: http

Establece el máximo size de las tablas hash de variables de mapa. Los detalles de la configuración de tablas hash se proporcionan en un documento separado.