Map#
Crea variables cuyos valores dependen de los valores de otras variables. Crea una nueva variable.
Su valor depende del primer parámetro, especificado como una cadena con variables,
por ejemplo: Aquí, la variable Nota Dado que las variables se evalúan solo cuando se utilizan, la mera declaración incluso de un gran número de variables "map" no añade ningún coste adicional al procesamiento de solicitudes. Los parámetros dentro del bloque Los valores de origen se especifican como cadenas o expresiones regulares. Las cadenas se comparan sin distinguir entre mayúsculas y minúsculas. Una expresión regular debe comenzar con un símbolo Si un valor de origen coincide con uno de los nombres de los parámetros especiales descritos a continuación, debe tener el prefijo del símbolo El valor resultante puede contener texto, variables y su combinación. También se admiten los siguientes parámetros especiales: establece el valor resultante si el valor de origen no coincide con ninguna de las variantes especificadas. Cuando no se especifica default, el valor resultante predeterminado será una cadena vacía. indica que los valores de origen pueden ser nombres de host con una máscara de prefijo o sufijo. Este parámetro debe especificarse antes de la lista de valores. Por ejemplo, Los siguientes dos registros pueden combinarse: incluye un archivo con valores. Puede haber varias inclusiones. indica que la variable no es almacenable en caché. 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: Valor de cadena sin máscara Valor de cadena más largo con una máscara de prefijo, por ejemplo Valor de cadena más largo con una máscara de sufijo, por ejemplo Primera expresión regular coincidente (en orden de aparición en un archivo de configuración) Valor predeterminado ( Establece el tamaño del bucket para las tablas hash de las variables map. El valor predeterminado depende del tamaño de la línea de caché del procesador. Los detalles de la configuración de las tablas hash se proporcionan por separado. Establece el tamaño máximo de las tablas hash de las variables map. Los detalles de la configuración de las tablas hash se proporcionan por separado.Ejemplo de configuración#
map $remote_addr $limit {
127.0.0.1 "";
default $binary_remote_addr;
}
limit_conn_zone $limit zone=addr:10m;
limit_conn addr 1;
Directivas#
map#
set $var1 "foo";
set $var2 "bar";
map $var1$var2 $new_variable {
default "foobar_value";
}
$new_variable
tendrá un valor
compuesto por las dos variables $var1
y $var2
,
o un valor predeterminado si estas variables no están definidas.map
especifican un mapeo entre los valores de origen y los resultantes.~
para una coincidencia sensible a mayúsculas y minúsculas, o con los símbolos ~*
para una coincidencia insensible a mayúsculas y minúsculas. Una expresión regular puede contener capturas con nombre y posicionales que luego pueden usarse en otras directivas junto con la variable resultante.\
.default
valuehostnames
*.example.com 1;
example.* 1;
example.com 1;
*.example.com 1;
.example.com 1;
include
filevolatile
*.example.com
mail.*
default
)map_hash_bucket_size#
map_hash_max_size#