残りの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リクエストを作成しています。
私は同じ問題に出会い、それを解決しました!
試してください:
Sudo vi /etc/hosts
追加します:
127.0.0.1 localhost
ホストへ
症状は、リモートアドレスを解決できないことです。
原因は多くの可能性があります。まず、アドレスを直接解決して、ノード固有かどうかを確認します。
$ nslookup www.rest-api.com
または:
$ Dig www.rest-api.com
それでもうまくいかない場合は、接続の問題があります。それは何でもかまいません。 DHCPを使用している場合、DHCPリースがどのくらい続くかを見てみてください。
ただし、それでも問題なく機能するのにノードアプリケーションが失敗する場合は、 https://github.com/nodejs/node/issues/5436 が実行されている可能性があります。図書館。そのスレッドで言及されている回避策を実装できます。これは、次のパラメーター{ family: 4 }
リクエストオプションの一部として。