La directiva resolver
en Nginx permite especificar servidores DNS para resolver nombres de dominio, una función clave para sistemas con DNS dinámico en entornos donde las IP asociadas a un dominio pueden cambiar frecuentemente, como en servicios de balanceo de carga. Configurar la directiva resolver
en Nginx asegura que los cambios de IP en un dominio se detecten de manera dinámica sin necesidad de reiniciar el servidor.
La directiva resolver
en Nginx especifica uno o varios servidores DNS que el servidor Nginx puede usar para resolver nombres de dominio en tiempo de ejecución. Es especialmente útil para configuraciones donde Nginx debe interactuar con servicios externos o balanceadores de carga que cambian de IP de forma dinámica.
resolver <dirección_dns> [<dirección_dns> ...] [valid=<tiempo>] [ipv6=<on|off>];
<dirección_dns>
: Dirección IP del servidor DNS.
valid=<tiempo>
(opcional): Define el tiempo de caché de los resultados de la resolución DNS.
ipv6=<on|off>
(opcional): Habilita o deshabilita la resolución de direcciones IPv6.
http {
resolver 8.8.8.8 8.8.4.4 valid=300s;
server {
location / {
proxy_pass http://mi-dominio-dinamico.com;
proxy_redirect off;
}
}
}
En este ejemplo:
8.8.8.8
y 8.8.4.4
) para resolver mi-dominio-dinamico.com
.
valid=300s
establece que los resultados del DNS se almacenarán en caché durante 5 minutos (300 segundos).
Parámetro | Tipo | Descripción |
---|---|---|
<dirección_dns>
|
IP | Dirección IP del servidor DNS utilizado para resolver nombres de dominio. |
valid=<tiempo>
|
Tiempo | Define cuánto tiempo (en segundos) se deben almacenar los resultados de DNS en caché. |
ipv6=<on|off> | Booleano | Determina si Nginx resuelve direcciones IPv6 (predeterminado: habilitado si el sistema soporta IPv6). |
1. DNS local con caché corto:
resolver 127.0.0.1 valid=30s;
2. Deshabilitar resolución IPv6:
resolver 8.8.8.8 ipv6=off;
3. DNS múltiple con caché extendido:
resolver 1.1.1.1 8.8.8.8 valid=600s;
Para obtener más información, consulta la documentación oficial de Nginx sobre la directiva resolver.
Jorge García
Fullstack developer