web-dev-qa-db-fra.com

Erreur: getaddrinfo EAI_AGAIN

Mon serveur a jeté ceci aujourd'hui, ce qui est une erreur de nodejs que je n'ai jamais vue auparavant.

Error: getaddrinfo EAI_AGAIN my-store.myshopify.com:443
    at Object.exports._errnoException (util.js:870:11)
    at errnoException (dns.js:32:15)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)

Je me demande si cela est lié à l'attaque DynDns DDOS qui a affecté Shopify et de nombreux autres services aujourd'hui. Voici un article à ce sujet.

Ma question principale est de savoir ce que fait dns.js De quelle partie du nœud est-il séparé? Puis-je recréer cette erreur avec un autre domaine?

68
ThomasReggi

EAI_AGAIN est une erreur de délai d'attente de la recherche DNS, ce qui signifie qu'il s'agit d'une erreur de connectivité réseau ou d'une erreur liée au proxy.

Ma question principale est: que fait dns.js?

  • Le fichier dns.js est là pour que le nœud obtienne l'adresse IP du domaine (en bref).

Quelques informations supplémentaires: http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html

74
xerq

Si vous obtenez cette erreur avec Firebase Cloud Functions, cela est dû aux limitations du niveau gratuit ( la mise en réseau sortante autorisée uniquement aux services Google ).

Mise à niveau vers les plans Flame ou Blaze .

enter image description here

33
bastien

C'est le problème lié à la configuration du fichier hosts. Ajoutez la ligne suivante à votre fichier hot Dans Ububtu:/etc/hosts

127.0.0.1   localhost

Dans Windows: c:\windows\system32\drivers\etc\hosts

127.0.0.1   localhost
1
Radhe9254

L'erreur de l'OP spécifie un hôte (my-store.myshopify.com). L'erreur que j'ai rencontrée est la même à tous égards sauf qu'aucun domaine n'est spécifié.

Ma solution peut aider les autres qui sont attirés ici par le titre "Erreur: getaddrinfo EAI_AGAIN"

J'ai rencontré l'erreur en essayant de servir une application NodeJs & VueJs à partir d'un VM différent de celui à l'origine du code.

Le fichier vue.config.js se lit comme suit:

 module.exports = {
   devServer: {
     Host: 'tstvm01',
     port: 3030,
   },
 };

Lorsqu'il est servi sur la machine d'origine, la sortie de démarrage est:

App running at:
- Local:   http://tstvm01:3030/ 
- Network: http://tstvm01:3030/

L'utilisation des mêmes paramètres sur un VM tstvm07 m'a donné une erreur très similaire à celle décrite par l'OP:

 INFO  Starting development server...
 10% building modules 1/1 modules 0 activeevents.js:183                              
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo EAI_AGAIN
    at Object._errnoException (util.js:1022:11)
    at errnoException (dns.js:55:15)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)

Si ce n'est pas déjà évident, changer vue.config.js à lire ...

 module.exports = {
   devServer: {
     Host: 'tstvm07',
     port: 3030,
   },
 };

... résolu le problème.

1
Martin Bramwell

@xerq a souligné correctement, voici une autre référence http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html

j'ai eu la même erreur, je l'ai résolu en mettant à jour le fichier "hosts" présent sous cet emplacement dans Windows OS

C:\Windows\System32\drivers\etc

J'espère que ça aide!!

0
Mateen