nginx falha ao resolver nomes de upstream no recarregamento mesmo que eles resolvam pelo sistema operacional

8

Ao recarregar a configuração (especificamente para proxy_pass) - ocasionalmente isso será visto:    nginx: [emerg] host não encontrado no upstream

No entanto - o nome do servidor upstream resolverá no os (linux) - somente o nginx parece ter esse problema.

Esta parece ser uma regressão recente - já que não parecia ser anterior às versões 1.0.10.

Alguém notou isso recentemente?

Tentando restringir lugares para pesquisar.

    
por Michael Neale 17.12.2011 / 00:07

1 resposta

6

O Nginx armazena internamente o DNS por 5 minutos (não tenho certeza se isso é configurável em versões posteriores). Talvez o seu resolvedor esteja falhando por algum motivo, então o Nginx armazena esse resultado.

Eu já vi isso em sistemas com IPv6 ativado, pois, por padrão, o resolvedor solicita os registros IPv4 e IPv6 em paralelo. Isso pode ser visto como uma inundação pelo resolvedor, resultando em um problema temporário de DNS. Eu vi este pop-up em uma caixa com muito tráfego de e-mail ao fazer a verificação do nome de domínio.

Tente adicionar:

  options single-request

para /etc/resolv.conf

Isso faz com que as pesquisas IPv6 / v4 sejam feitas sequencialmente.

    
por 02.01.2012 / 18:13

Tags