2012-09-24 8 views
6

Ich habe node.js Server, der sich wie ein Proxy verhält. Er empfängt Anforderungen und leitet sie an den Webdienst einer anderen Domäne weiter, indem er http.request ausführt.Node.js http.request schlägt fehl mit [Fehler: getaddrinfo EADDRINFO]

Anfrage Optionen sind in der Regel ähnlich wie:

{ 
    "host": "some.domain", 
    "port": 443, 
    "path": "/paht/item/id", 
    "method": "POST", 
    "headers": { 
    "Host": "some.domain", 
    "Content-Type": "application/json; charset=utf-8", 
    "Content-Length": 100 
    } 
} 

In letzter Zeit habe ich bemerkt, dass einige Anfragen mit [Error: getaddrinfo EADDRINFO] scheitern, aber nicht alle von ihnen.

Weiß jemand, was EADDRINFO bedeutet, und was die angebliche Ursache sein kann?

Antwort

13

EAADRINFO ist ein Fehlertyp, der bei der Suche nach der IP-Adresse eines Hostnamens für den Fall auftreten kann, dass eine IP-Adresse nicht gefunden werden kann. Hier bedeutet es wahrscheinlich, dass der "some.domain" Wert der Anfrage nicht in eine IP-Adresse aufgelöst werden kann.

+2

JohnnyHK, danke für die Antwort. Aber das Seltsamste ist, dass ich die Anfrage immer an denselben Hostnamen sende und manchmal eine Anfrage fehlschlägt, andere Male wurde der Domain-Name erfolgreich aufgelöst – aliona

+2

@aliona Versuchen Sie als Test, den Hostnamen durch seine IP-Adresse zu ersetzen die Fehler gehen weg. Wenn dies der Fall ist, ist Ihr DNS-Server oder Ihre Konfiguration möglicherweise zweifelhaft. – JohnnyHK

Verwandte Themen