Apa sumber Kesalahan: getaddrinfo EAI_AGAIN?

133

Server saya melemparkan ini hari ini, yang merupakan kesalahan Node.js yang belum pernah saya lihat sebelumnya:

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)

Saya bertanya-tanya apakah ini terkait dengan serangan DDOS DynDns yang memengaruhi Shopify dan banyak layanan lainnya hari ini. Berikut artikel tentang itu.

Pertanyaan utama saya adalah apa yang dns.jsdilakukan? Di bagian manakah node itu? Bagaimana cara membuat ulang kesalahan ini dengan domain yang berbeda?

ThomasReggi
sumber

Jawaban:

161

Jika Anda mendapatkan error ini pada Firebase Cloud Functions, hal ini disebabkan oleh batasan tingkat gratis ( jaringan keluar hanya diizinkan untuk layanan Google ).

Tingkatkan ke paket Flame atau Blaze agar dapat berfungsi.

masukkan deskripsi gambar di sini

bastien
sumber
29
Anda baru saja menghemat waktu berjam - jam untuk penelitian. Kudos
David Chopin
1
itu benar, baru saja ditingkatkan untuk membayar per penggunaan paket api tanpa biaya (data tingkat bebas carry-forward ini dari spark)
JerryGoyal
Bisakah Anda @NullPointer, uraikan solusinya, saya masih mendapatkan kesalahan `Kesalahan: tidak dapat menangani permintaan`
Alam
Saya memiliki masalah yang sama dan telah meningkatkan ke akun Blaze tetapi masalahnya tetap sama. Saya mencoba menggunakan tukang pos.
Devendra Singh
107

EAI_AGAIN adalah kesalahan waktu pencarian DNS habis, artinya adalah kesalahan konektivitas jaringan atau kesalahan terkait proxy.

Pertanyaan utama saya adalah apa yang dns.js lakukan?

  • Dns.js ada untuk node mendapatkan alamat ip dari domain (singkatnya).

Beberapa info lebih lanjut: http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html

xerq
sumber
4

Ini adalah masalah yang terkait dengan pengaturan file host. Tambahkan baris berikut ke file hots Anda Di Ububtu: / etc / hosts

127.0.0.1   localhost

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

127.0.0.1   localhost
Radhe9254
sumber
2

Kesalahan OP menentukan host ( my-store.myshopify.com). Kesalahan yang saya temui sama dalam segala hal kecuali tidak ada domain yang ditentukan.

Solusi saya dapat membantu orang lain yang tertarik ke sini dengan judul "Kesalahan: getaddrinfo EAI_AGAIN"

Saya mengalami kesalahan saat mencoba melayani aplikasi NodeJs & VueJs dari VM berbeda dari tempat kode awalnya dikembangkan.

File tersebut vue.config.jsberbunyi:

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

Saat disajikan di mesin asli, keluaran start up adalah:

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

Menggunakan pengaturan yang sama pada VM tstvm07memberi saya kesalahan yang sangat mirip dengan yang dijelaskan 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)

Jika belum jelas, ubah vue.config.jsmenjadi membaca ...

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

... memecahkan masalah.

Martin Bramwell
sumber
1

Saya mulai mendapatkan kesalahan ini (meskipun jejak tumpukan berbeda) setelah melakukan pembaruan sepele ke aplikasi API GraphQL saya yang dioperasikan di dalam kontainer buruh pelabuhan. Untuk alasan apa pun, penampung mengalami kesulitan dalam menyelesaikan layanan back-end yang digunakan oleh API.

Setelah melihat-lihat untuk melihat apakah beberapa perubahan telah dibuat pada gambar dasar buruh pelabuhan yang saya buat dari (node: 13-alpine, kebetulan), saya memutuskan untuk mencoba trik ilmu komputer tertua untuk me-reboot ... Saya berhenti dan memulai buruh pelabuhan kontainer dan semua kembali normal.

Jelas, ini bukan solusi yang berarti untuk masalah yang mendasarinya - saya hanya memposting ini karena itu menyelesaikan masalah bagi saya tanpa terlalu jauh ke dalam lubang kelinci.

John Rix
sumber
1

Jika Anda mendapatkan error ini dari dalam container buruh pelabuhan , misalnya saat menjalankan npm installdi dalam container alpine, penyebabnya mungkin karena jaringan berubah sejak container dimulai.

Untuk mengatasi ini, cukup hentikan dan mulai ulang penampung

docker-compose down
docker-compose up

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

Diego P. Steiner
sumber
0

Saya memiliki masalah yang sama dengan AWS dan Tanpa Server. Saya mencoba dengan eu-central-1wilayah dan tidak berhasil jadi saya harus mengubahnya menjadi us-east-2contoh.

Igor Janković
sumber
-3

Jika Anda tidak mendapatkannya di localhost baik produksi, itu berarti Anda harus meningkatkan paket Anda karena batasan tingkat gratis

Randy Reiza
sumber
-15

memperbarui npm ke terbaru memperbaiki masalah ini untuk saya.

npm install npm@latest

masalah ini terkait dengan konektivitas jaringan Anda. karenanya bisa bersifat sementara. pada koneksi internet yang stabil, masalah ini hampir tidak teramati.

anerjan
sumber
24
Bagaimana memperbarui manajer paket dapat memperbaiki kesalahan yang tidak terkait dengan manajer paket?
FF_Dev
3
Dalam pembelaan @ anerjan, itu bisa terjadi saat berjalan npm installdan saya membayangkan waktu yang dibutuhkan untuk menghentikan pembaruan dan memulai ulang dia tersambung kembali ke internet.
Rambatino