Configurando a resolução DNS dinâmica no NGINX¶
Se o nome de domínio for passado na diretiva proxy_pass
do arquivo de configuração do NGINX, então o NGINX resolve o endereço IP do host apenas uma vez após a inicialização. Se o servidor DNS alterar o endereço IP do host, então o NGINX continuará usando o antigo endereço IP até que o NGINX seja recarregado ou reiniciado. Antes disso, o NGINX enviará solicitações para o endereço IP errado.
Por exemplo:
Para a resolução DNS dinâmica, você pode definir uma diretiva proxy_pass
como variável. Nesse caso, o NGINX usará o endereço DNS que está definido na diretiva resolver
ao calcular a variável.
Impacto da resolução DNS dinâmica no processamento de tráfego
- A configuração do NGINX com a diretiva
resolver
e a variável na diretivaproxy_pass
retarda o processamento de solicitações, pois será o passo adicional de resolução DNS dinâmica no processamento de solicitações. - O NGINX re-resolve o nome de domínio quando seu tempo de vida (TTL) expira. Ao incluir o parâmetro
valid
na diretivaresolver
, você pode instruir o NGINX a ignorar o TTL e re-resolver os nomes com uma frequência especificada. - Se o servidor DNS estiver inativo, o NGINX não processará o tráfego.
Por exemplo:
location / {
resolver 172.43.1.2 valid=10s;
set $backend https://demo-app.com$uri$is_args$args;
proxy_pass $backend;
include proxy_params;
}
Resolução DNS dinâmica no NGINX Plus
O NGINX Plus suporta a resolução dinâmica de nomes de domínio por padrão.