ที่มาของข้อผิดพลาดคืออะไร: getaddrinfo EAI_AGAIN?


134

เซิร์ฟเวอร์ของฉันส่งสิ่งนี้ในวันนี้ซึ่งเป็นข้อผิดพลาด Node.js ที่ฉันไม่เคยเห็นมาก่อน:

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)

ฉันสงสัยว่าสิ่งนี้เกี่ยวข้องกับการโจมตี DynDns DDOS ซึ่งส่งผลกระทบต่อ Shopify และบริการอื่น ๆ ในปัจจุบันหรือไม่ นี่คือบทความเกี่ยวกับเรื่องนี้

คำถามหลักของฉันคือdns.jsทำอะไร? มันเป็นส่วนใดของโหนด? ฉันจะสร้างข้อผิดพลาดนี้ขึ้นใหม่โดยใช้โดเมนอื่นได้อย่างไร

คำตอบ:


162

หากคุณได้รับข้อผิดพลาดนี้กับ Firebase Cloud Functions นี่เป็นเพราะข้อ จำกัด ของระดับฟรี ( เครือข่ายขาออกอนุญาตเฉพาะบริการของ Google )

อัปเกรดเป็นแผนFlameหรือBlazeเพื่อให้ใช้งานได้

ใส่คำอธิบายภาพที่นี่


29
คุณช่วยฉันค้นคว้าได้หลายชั่วโมง Kudos
David Chopin

1
ถูกต้องเพียงอัปเกรดเป็นแผนจ่ายต่อการใช้งานโดยไม่เสียค่าใช้จ่าย (ข้อมูลระดับฟรีแบบพกพาจากจุดประกาย)
JerryGoyal

คุณสามารถ @NullPointer อธิบายวิธีแก้ปัญหาอย่างละเอียดได้ไหมฉันยังคงได้รับข้อผิดพลาด `ข้อผิดพลาด: ไม่สามารถจัดการคำขอ` ได้
Alam

ฉันมีปัญหาเดียวกันและได้อัปเกรดเป็นบัญชี Blaze แล้ว แต่ปัญหายังคงเหมือนเดิม ฉันกำลังลองใช้บุรุษไปรษณีย์
Devendra Singh

108

EAI_AGAIN เป็นข้อผิดพลาดในการค้นหา DNS หมดเวลาหมายความว่าเป็นข้อผิดพลาดในการเชื่อมต่อเครือข่ายหรือข้อผิดพลาดที่เกี่ยวข้องกับพร็อกซี

คำถามหลักของฉันคือ dns.js ทำอะไรได้บ้าง?

  • dns.js มีไว้สำหรับโหนดเพื่อรับที่อยู่ IP ของโดเมน (โดยย่อ)

ข้อมูลเพิ่มเติมบางส่วน: http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html


3

นี่คือปัญหาที่เกี่ยวข้องกับการตั้งค่าไฟล์โฮสต์ เพิ่มบรรทัดต่อไปนี้ในไฟล์ hots ของคุณใน Ububtu: / etc / hosts

127.0.0.1   localhost

ใน windows: c: \ windows \ System32 \ drivers \ etc \ hosts

127.0.0.1   localhost

2

ข้อผิดพลาดของ OP ระบุโฮสต์ ( my-store.myshopify.com) ข้อผิดพลาดที่ฉันพบนั้นเหมือนกันทุกประการยกเว้นไม่มีการระบุโดเมน

วิธีแก้ปัญหาของฉันอาจช่วยคนอื่น ๆ ที่วาดไว้ที่นี่ด้วยชื่อ "Error: getaddrinfo EAI_AGAIN"

ฉันพบข้อผิดพลาดขณะพยายามให้บริการแอป NodeJs & VueJs จาก VM ที่แตกต่างจากที่เคยพัฒนาโค้ดมา

ไฟล์ที่vue.config.jsอ่าน:

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

เมื่อเสิร์ฟบนเครื่องเดิมเอาต์พุตเริ่มต้นคือ:

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

การใช้การตั้งค่าเดียวกันบน VM tstvm07ทำให้ฉันมีข้อผิดพลาดที่คล้ายกันมากกับที่ 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)

ถ้ายังไม่ชัดเปลี่ยนvue.config.jsไปอ่าน ...

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

... แก้ปัญหา.


1

@xerq ชี้ถูกต้องนี่คือข้อมูลอ้างอิงเพิ่มเติม http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html

ฉันได้รับข้อผิดพลาดเดียวกันฉันแก้ไขได้โดยการอัปเดตไฟล์ "โฮสต์" ที่อยู่ภายใต้ตำแหน่งนี้ในระบบปฏิบัติการ windows

C: \ Windows \ System32 \ Drivers \ etc

หวังว่าจะช่วย !!


1

ฉันเริ่มได้รับข้อผิดพลาดนี้ (การติดตามสแต็กที่แตกต่างกัน) หลังจากทำการอัปเดตเล็กน้อยกับแอปพลิเคชัน GraphQL API ของฉันที่ดำเนินการภายในคอนเทนเนอร์นักเทียบท่า ไม่ว่าด้วยเหตุผลใดคอนเทนเนอร์จึงประสบปัญหาในการแก้ไขบริการแบ็คเอนด์ที่ API ใช้

หลังจากลองดูว่ามีการเปลี่ยนแปลงบางอย่างเกิดขึ้นในอิมเมจฐานนักเทียบท่าที่ฉันสร้างจาก (โหนด: 13 อัลไพน์โดยบังเอิญ) ฉันตัดสินใจลองใช้กลอุบายทางวิทยาศาสตร์คอมพิวเตอร์ที่เก่าแก่ที่สุดในการรีบูต ... ฉันหยุดและเริ่มนักเทียบท่า ตู้คอนเทนเนอร์และทุกอย่างก็กลับสู่สภาวะปกติ

เห็นได้ชัดว่านี่ไม่ใช่วิธีแก้ปัญหาที่มีความหมาย - ฉันแค่โพสต์สิ่งนี้เนื่องจากมันทำให้ปัญหาของฉันชัดเจนขึ้นโดยไม่ต้องเจาะรูกระต่ายให้ลึกเกินไป


1

หากคุณได้รับข้อผิดพลาดนี้จากภายในคอนเทนเนอร์นักเทียบท่าเช่นเมื่อทำงานnpm installภายในคอนเทนเนอร์อัลไพน์สาเหตุอาจเกิดจากเครือข่ายเปลี่ยนไปตั้งแต่คอนเทนเนอร์เริ่มทำงาน

ในการแก้ปัญหานี้เพียงแค่หยุดและรีสตาร์ทคอนเทนเนอร์

docker-compose down
docker-compose up

ที่มา: https://github.com/moby/moby/issues/32106#issuecomment-578725551


0

ฉันมีปัญหาเดียวกันกับ AWS และ Serverless ฉันลองใช้eu-central-1ภูมิภาคแล้วไม่ได้ผลดังนั้นฉันจึงต้องเปลี่ยนus-east-2เป็นตัวอย่าง


-3

หากคุณไม่ได้รับสิ่งนั้นที่ localhost ทั้งการผลิตนั่นหมายความว่าคุณต้องอัปเกรดแผนของคุณเนื่องจากข้อ จำกัด ของระดับฟรี


-16

การอัปเดต npm เป็นล่าสุดช่วยแก้ไขปัญหานี้ให้ฉัน

npm install npm@latest

ปัญหานี้เกี่ยวข้องกับการเชื่อมต่อเครือข่ายของคุณ ดังนั้นจึงสามารถเกิดขึ้นได้ชั่วคราว ในการเชื่อมต่ออินเทอร์เน็ตที่เสถียรปัญหานี้แทบจะไม่พบ


25
การอัปเดตตัวจัดการแพ็กเกจสามารถแก้ไขข้อผิดพลาดที่ไม่เกี่ยวข้องกับตัวจัดการแพ็กเกจได้อย่างไร
FF_Dev

3
ในการป้องกันของ @ anerjan อาจเกิดขึ้นได้เมื่อทำงานnpm installและฉันนึกภาพเวลาที่ต้องใช้ในการหยุดการอัปเดตและเริ่มต้นใหม่เขาเชื่อมต่อกลับเข้าสู่อินเทอร์เน็ต
Rambatino
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.