nginx ne parvient pas à résoudre les noms en amont lors du rechargement même s'ils résoudront par le système d'exploitation

9

Lors du rechargement de la configuration (spécifiquement pour proxy_pass) - parfois, cela sera vu: nginx: [Emerg] hôte introuvable en amont

Cependant - le nom du serveur en amont résoudra dans le système d'exploitation (linux) - seul nginx semble avoir ce problème.

Cela semble être une régression récente - car cela ne semblait pas se produire avant les versions 1.0.10.

Quelqu'un l'a-t-il remarqué récemment?

Essayer de restreindre les lieux de recherche.

Michael Neale
la source

Réponses:

6

Nginx met en cache DNS en interne pendant 5 minutes (vous ne savez pas si cela est configurable dans les versions ultérieures). Peut-être que votre résolveur échoue pour une raison quelconque, puis Nginx met ce résultat en cache.

J'ai vu cela sur des systèmes avec IPv6 activé car par défaut, le résolveur demande les enregistrements IPv4 et IPv6 en parallèle. Cela peut être vu comme une inondation par le résolveur entraînant un problème DNS temporaire. J'ai vu cette fenêtre contextuelle sur une boîte avec beaucoup de trafic de messagerie lors de la vérification du nom de domaine.

Essayez d'ajouter:

  options single-request

à /etc/resolv.conf

Cela provoque des recherches IPv6 / v4 à effectuer de manière séquentielle.

jeffatrackaid
la source
Merci pour votre réponse. Il s'est avéré que c'était une erreur de gâcher les noms d'hôtes dans les fichiers de configuration. Oops. Mais votre réponse est en fait vraiment utile de toute façon - je vais donc la marquer comme la bonne - car cela causerait des problèmes DNS, c'est sûr (l'exploser avec des demandes).
Michael Neale
2
J'ai le même problème - qu'avez-vous fait exactement dans les fichiers de configuration pour résoudre ce problème (merci d'avance)
Zabs
Vous pouvez maintenant ajouter l' value=30soption à resolverpour définir la durée de conservation d'une adresse IP résolue dans les resolvercaches de.
Alexis Wilke