¿Cuál es la fuente del error: getaddrinfo EAI_AGAIN?

133

Mi servidor lanzó esto hoy, que es un error de Node.js que nunca había visto antes:

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)

Me pregunto si esto está relacionado con el ataque DynDns DDOS que afectó a Shopify y muchos otros servicios en la actualidad. Aquí hay un artículo sobre eso.

Mi pregunta principal es ¿qué hace dns.js? ¿De qué parte del nodo es parte? ¿Cómo puedo recrear este error con un dominio diferente?

ThomasReggi
fuente

Respuestas:

160

Si obtiene este error con Firebase Cloud Functions, esto se debe a las limitaciones del nivel gratuito (la red saliente solo está permitida para los servicios de Google ).

Actualice a los planes Flame o Blaze para que funcione.

ingrese la descripción de la imagen aquí

bastien
fuente
28
Me acabas de salvar horas de investigación. Felicitaciones
David Chopin
1
es correcto, solo se actualizó para pagar el plan de incendio por uso a un costo cero (estos datos de nivel gratuitos de transferencia de chispa)
JerryGoyal
¿Puedes @NullPointer, elaborar la solución, sigo recibiendo errores `Error: no se pudo manejar la solicitud`
Alam
Tengo el mismo problema y he actualizado a la cuenta de Blaze, pero el problema sigue siendo el mismo. Estoy intentando usar cartero.
Devendra Singh
106

EAI_AGAIN es un error de tiempo de espera de búsqueda de DNS, significa que es un error de conectividad de red o un error relacionado con el proxy.

Mi pregunta principal es ¿qué hace dns.js?

  • El dns.js está allí para que el nodo obtenga la dirección IP del dominio (en resumen).

Más información: http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html

xerq
fuente
4

Este es el problema relacionado con la configuración del archivo de hosts. Agregue la siguiente línea a su archivo hots en Ububtu: / etc / hosts

127.0.0.1   localhost

En windows: c: \ windows \ System32 \ drivers \ etc \ hosts

127.0.0.1   localhost
Radhe9254
fuente
2

El error del OP especifica un host ( my-store.myshopify.com). El error que encontré es el mismo en todos los aspectos, excepto que no se especifica ningún dominio.

Mi solución puede ayudar a otros que se dibujan aquí con el título "Error: getaddrinfo EAI_AGAIN"

Encontré el error al intentar servir una aplicación NodeJs & VueJs desde una VM diferente desde la que se desarrolló originalmente el código.

El archivo vue.config.jsdecía:

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

Cuando se sirve en la máquina original, la salida de inicio es:

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

Usar la misma configuración en una VM tstvm07me dio un error muy similar al que describe el 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 ya no es obvio, cambiar vue.config.jsa leer ...

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

... resuelve el problema.

Martin Bramwell
fuente
1

Comencé a recibir este error (sin embargo, un seguimiento de pila diferente) después de hacer una actualización trivial a mi aplicación GraphQL API que se opera dentro de un contenedor acoplable. Por alguna razón, el contenedor tenía dificultades para resolver un servicio de fondo utilizado por la API.

Después de hurgar para ver si se había hecho algún cambio en la imagen base de la ventana acoplable desde la que estaba construyendo (nodo: 13-alpine, por cierto), decidí probar el truco más antiguo de reiniciar la informática ... Detuve y comencé la ventana acoplable contenedor y todo volvió a la normalidad.

Claramente, esta no es una solución significativa para el problema subyacente: simplemente estoy publicando esto, ya que me solucionó el problema sin profundizar demasiado en los agujeros de conejo.

John Rix
fuente
1

Si obtiene este error desde un contenedor acoplable , por ejemplo, cuando se ejecutanpm install dentro de un contenedor alpino, la causa podría ser que la red cambió desde que se inició el contenedor.

Para resolver esto, simplemente detenga y reinicie el contenedor

docker-compose down
docker-compose up

Fuente: https://github.com/moby/moby/issues/32106#issuecomment-578725551

Diego P. Steiner
fuente
0

Tuve el mismo problema con AWS y sin servidor. Intenté con eu-central-1region y no funcionó, así que tuve que cambiarlo us-east-2por ejemplo.

Igor Janković
fuente
-3

Si no obtiene eso en localhost o producción, eso significa que debe actualizar su plan debido a las limitaciones del nivel gratuito

Randy Reiza
fuente
-15

actualizar el npm a las últimas soluciones me soluciona este problema.

npm install npm@latest

Este problema está relacionado con la conectividad de su red. Por lo tanto, puede ser temporal. En una conexión a Internet estable, este problema apenas se observó.

anerjan
fuente
24
¿Cómo actualizar el administrador de paquetes podría corregir un error que no está relacionado con el administrador de paquetes?
FF_Dev
3
En defensa de @ anerjan, puede ocurrir cuando se ejecuta npm installe imagino el tiempo que tardó en detener la actualización y reiniciar la conexión a Internet.
Rambatino