오류의 원인은 무엇입니까? getaddrinfo EAI_AGAIN?


133

내 서버가 오늘 이것을 던졌습니다. 이는 전에 본 적이없는 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)

이것이 오늘날 Shopify 및 기타 많은 서비스에 영향을 미친 DynDns DDOS 공격과 관련이 있는지 궁금합니다. 여기에 대한 기사가 있습니다.

내 주요 질문은 무엇을 dns.js합니까? 노드의 어느 부분에 속합니까? 다른 도메인에서이 오류를 어떻게 재현 할 수 있습니까?

답변:


160

Firebase Cloud Functions에서이 오류가 발생하는 경우 이는 무료 등급의 제한 때문입니다 ( 발신 네트워킹은 Google 서비스에만 허용됨 ).

작동 하려면 Flame 또는 Blaze 요금제로 업그레이드하세요 .

여기에 이미지 설명 입력


28
연구 시간 을 절약했습니다 . 명예
데이비드 쇼팽

1
그 단지 제로 비용으로 사용 불꽃 계획 당 지불로 업그레이드의 권리, (이 앞으로 캐리 불꽃이없는 계층 데이터)
JerryGoyal

@NullPointer, 솔루션을 정교하게 만들 수 있습니까? 여전히 오류가 발생합니다.`오류 : 요청을 처리 할 수 ​​없습니다 .`
Alam

동일한 문제가 있으며 Blaze 계정으로 업그레이드했지만 여전히 문제는 동일합니다. 우편 배달부를 사용하려고합니다.
Devendra Singh


4

이것은 호스트 파일 설정과 관련된 문제입니다. Ububtu에서 hots 파일에 다음 행을 추가하십시오. / 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 )를 . 내가 발생한 오류는 도메인이 지정되지 않았다는 점을 제외하고 모든 측면에서 동일합니다.

내 솔루션은 "오류 : getaddrinfo EAI_AGAIN"이라는 제목으로 여기에 그려진 다른 사용자에게 도움이 될 수 있습니다.

코드가 원래 개발 된 곳과 다른 VM에서 NodeJs 및 VueJs 앱을 제공하려고 할 때 오류가 발생했습니다.

vue.config.js읽은 파일 :

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

원래 머신에서 제공되는 경우 시작 출력은 다음과 같습니다.

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

VM에서 동일한 설정을 사용하면 tstvm07OP에서 설명하는 것과 매우 유사한 오류가 발생했습니다.

 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

도커 컨테이너 내부에서 작동하는 GraphQL API 응용 프로그램을 사소한 업데이트 한 후이 오류 (다른 스택 추적)가 발생하기 시작했습니다. 어떤 이유로 든 컨테이너는 API에서 사용중인 백엔드 서비스를 해결하는 데 어려움을 겪었습니다.

내가 구축하고 있던 도커 기본 이미지 (노드 : 13- 알파인, 우연히)에 변경 사항이 있는지 확인한 후 재부팅하는 가장 오래된 컴퓨터 과학 트릭을 시도하기로 결정했습니다 ... 나는 도커를 중지하고 시작했습니다. 컨테이너와 모든 것이 정상으로 돌아 왔습니다.

분명히 이것은 근본적인 문제에 대한 의미있는 해결책이 아닙니다. 너무 깊이 들어 가지 않고 문제를 해결했기 때문에 나는 이것을 게시하는 것입니다.



0

AWS와 서버리스에서도 같은 문제가있었습니다. 나는 eu-central-1지역으로 시도했지만 작동하지 않았으므로 us-east-2예제 를 위해 변경해야했습니다 .


-3

localhost 두 프로덕션 모두에서 얻을 수 없다면 프리 티어의 제한으로 인해 계획을 업그레이드해야 함을 의미합니다.


-15

npm을 최신으로 업데이트하면이 문제가 해결됩니다.

npm install npm@latest

이 문제는 네트워크 연결과 관련이 있습니다. 따라서 일시적 일 수 있습니다. 안정적인 인터넷 연결에서이 문제는 거의 관찰되지 않았습니다.


24
패키지 관리자를 업데이트하면 패키지 관리자와 관련이없는 오류를 어떻게 수정할 수 있습니까?
FF_Dev

3
@anerjan의 방어에서는 실행할 때 발생할 수 있으며 npm install업데이트를 중지하고 인터넷에 다시 연결하는 데 걸리는 시간을 상상합니다.
Rambatino
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.