web-dev-qa-db-ja.com

エラー:getaddrinfo ENOTFOUND

残りのAPIに対して毎秒HTTPリクエストを行う単純なNode.jsボットがあります。

返されたデータが正しい場合、HTTP POSTを実行するURLを作成します。

すべて正常に動作しますが、実行してから4〜5時間後にこのエラーが発生しました。

0|server   | error:  Error: getaddrinfo ENOTFOUND www.rest-api.com www.rest-api.com:443
0|server   |     at errnoException (dns.js:28:10)
0|server   |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:73:26)

誰かがこれが起こった理由を説明できますか?

サーバーを再起動すると、すべてが機能しました。

axios を使用して、httpリクエストを作成しています。

7
Anderson

私は同じ問題に出会い、それを解決しました!

試してください:

Sudo vi /etc/hosts

追加します:

127.0.0.1 localhost

ホストへ

10
William

症状は、リモートアドレスを解決できないことです。

原因は多くの可能性があります。まず、アドレスを直接解決して、ノード固有かどうかを確認します。

$ nslookup www.rest-api.com

または:

$ Dig www.rest-api.com

それでもうまくいかない場合は、接続の問題があります。それは何でもかまいません。 DHCPを使用している場合、DHCPリースがどのくらい続くかを見てみてください。

ただし、それでも問題なく機能するのにノードアプリケーションが失敗する場合は、 https://github.com/nodejs/node/issues/5436 が実行されている可能性があります。図書館。そのスレッドで言及されている回避策を実装できます。これは、次のパラメーター{ family: 4 }リクエストオプションの一部として。

3
arboreal84