Wat is de bron van fout: getaddrinfo EAI_AGAIN?

Mijn server heeft dit vandaag gedaan, wat een Node.js-fout is die ik nog nooit eerder heb gezien:

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)

Ik vraag me af of dit verband houdt met de DynDns DDOS-aanval die Shopify en vele andere services vandaag trof. Hier is een artikel daarover.

Mijn belangrijkste vraag is wat doet dns.js? Van welk deel van het knooppunt is het een onderdeel? Hoe kan ik deze fout opnieuw maken met een ander domein?


Antwoord 1, autoriteit 100%

Als u deze foutmelding krijgt bij Firebase Cloud Functions, komt dit door de beperkingen van de gratis laag (uitgaande netwerken alleen toegestaan voor Google-services).

Upgrade naar de plannen Flameof Blazeom het te laten werken.


Antwoord 2, autoriteit 78%

EAI_AGAIN is een time-outfout bij DNS-lookup, wat betekent dat het een netwerkverbindingsfout of proxy-gerelateerde fout is.

Mijn belangrijkste vraag is wat doet dns.js?

  • De dns.js is er voor node om het IP-adres van het domein te krijgen (in het kort).

Wat meer informatie:
http://www.codingdefined.com/2015/06/nodejs -error-errno-eaiaagain.html


Antwoord 3, autoriteit 9%

Als u deze fout vanuit een docker-containerkrijgt, b.v. bij het uitvoeren van npm installin een alpine container, kan de oorzaak zijn dat het netwerk is gewijzigd sinds de container is gestart.

Om dit op te lossen, stop en herstart de container

docker-compose down
docker-compose up

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


Antwoord 4, autoriteit 2%

Zoals het uitstekende antwoord van xerquitlegt, is dit een DNS-time-outprobleem.

Ik wilde een ander mogelijk antwoord geven voor degenen onder u die Windows-subsysteem voor Linux gebruiken – er zijn enkele gevallen waarin iets scheef lijkt te staan in het client-besturingssysteem nadat Windows uit de slaapstand is gehaald. Het herstarten van het host-besturingssysteem lost deze problemen op (waarschijnlijk zal het opnieuw opstarten van de WSL-service hetzelfde doen).


Antwoord 5, autoriteit 2%

De OP-fout specificeert een host (my-store.myshopify.com).
De fout die ik tegenkwam is in alle opzichten hetzelfde, behalve dat er geen domein is opgegeven.

Mijn oplossing kan anderen helpen die hier getekend zijn door de titel “Fout: getaddrinfo EAI_AGAIN”

Ik ben de fout tegengekomen bij het bedienen van een NodeJs & VueJs-app van een andere VM waarop de code oorspronkelijk is ontwikkeld.

Het bestand vue.config.jslees:

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

Wanneer geserveerd op de originele machine, is de opstartoutput:

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

Het gebruik van dezelfde instellingen op een VM tstvm07leverde me een zeer vergelijkbare fout op als degene die de OP beschrijft:

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)

Als het nog niet duidelijk is, verander dan vue.config.jsom te lezen …

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

… het probleem is opgelost.


Antwoord 6

Dit is het probleem met betrekking tot het instellen van hosts-bestanden.
Voeg de volgende regel toe aan je hots-bestand:
In Ububtu: /etc/hosts

127.0.0.1   localhost

In Windows: c:\windows\System32\drivers\etc\hosts

127.0.0.1   localhost

Antwoord 7

Ik kreeg deze fout (andere stacktracering echter) na een triviale update van mijn GraphQL API-toepassing die wordt uitgevoerd in een docker-container. Om welke reden dan ook, de container had problemen met het oplossen van een back-endservice die door de API wordt gebruikt.

Na wat rondgekeken te hebben om te zien of er een wijziging was aangebracht in de docker-basisafbeelding waarvan ik aan het bouwen was (node:13-alpine, overigens), besloot ik de oudste computerwetenschappelijke truc van rebooten te proberen… Ik stopte en startte de docker-container en alles ging weer normaal.

Dit is duidelijk geen zinvolle oplossing voor het onderliggende probleem – ik plaats dit alleen omdat het het probleem voor mij heeft opgelost zonder te diep in konijnenholen te gaan.


Antwoord 8

@xerq wees correct, hier is wat meer referentie
http://www.codingdefined.com/2015/06/ nodejs-error-errno-eaiaagain.html

ik kreeg dezelfde fout, ik heb het opgelost door het “hosts”-bestand dat aanwezig is op deze locatie in Windows os bij te werken

C:\Windows\System32\drivers\etc

Hopelijk helpt het!!


Antwoord 9

Ik had hetzelfde probleem met AWS en Serverless. Ik heb het geprobeerd met de regio eu-central-1en het werkte niet, dus ik moest het voor het voorbeeld wijzigen in us-east-2.


Antwoord 10

In mijn geval was het probleem het ip-toewijzingsbereik van docker-netwerken, zie dit berichtvoor details


Antwoord 11

Blaze ingeschakeld en het werkt nog steeds niet?

Hoogstwaarschijnlijk moet u .envinstellen vanaf het juiste pad, require('dotenv').config({ path: __dirname + './../.env' });werkt niet(of enig ander pad). Plaats eenvoudig het bestand .envin de directory functions, van waaruit u implementeert naar Firebase.


Antwoord 12

het updaten van de npm naar de nieuwste verhelpt dit probleem voor mij.

npm install npm@latest

dit probleem heeft te maken met uw netwerkverbinding. kan daarom tijdelijk zijn. op een stabiele internetverbinding werd dit probleem nauwelijks waargenomen.

Other episodes