2014-06-05 3 views
2
app = require('http').createServer() 
app.listen(5000, '75.113.126.31') 

Error: listen EADDRNOTAVAILNode.js를 EADDRNOTAVAIL 외부 IP를 통해 액세스 할 수 없습니다

사람들은이 오류가 내가 소유하지 않은 IP 주소에서 수신하기 위해 노력하고있어 의미 말한다. 하지만 그게 내 구글에 따르면 내 외부 IP 주소입니다. 내 IP를 생략하면 내가 작동하지 않습니다 75.113.126.31:5000를 방문, localhost:5000127.0.0.1:5000를 방문 할 때

또한, 그것은 단지 사람들이 노드가 내가 듣고 제 2의 인수를 제공하지 않는 경우도있다 경청해야한다고하더라도, 작동합니다. 나는 또한 IP 0.0.0.0에서 외부 IP를 통해 액세스하는 행운을 들으려고 시도했다.

가능한 원인은 무엇입니까? Windows 방화벽을 비활성화했지만 도움이되지 않았습니다.

답변

3

외부 IP와 컴퓨터의 네트워크 주소에는 공통점이 거의 없습니다. 실제로 그들이 일치한다면 그것은 매우 드문 일입니다.

일반적으로 서비스를 원격으로 사용 가능하게하려면 0.0.0.0에 바인딩합니다.

라우터 나 방화벽이 있으면 포트 5000을 사용하여 로컬 IP로 올바르게 라우팅하기 위해 포트 매핑을 구성해야합니다.

ipconfig에 실제 IP 주소가 표시되어야합니다.

일부 라우터는 내부 트래픽을 로컬 IP로 다시 매핑하는 것을 처리하지 않는다는 점도 알아야합니다. 많은 사람들이 그렇게하기 때문에 항상 문제가있는 것은 아니지만 그것이 효과가 없다면 그럴 수도 있습니다.

3

오류 메시지가 올 바릅니다. 나는 당신이 라우터 뒤에있는 컴퓨터에 있다고 가정 할 것이다. Google에서보고하는 IP 주소는 컴퓨터가 아닌 라우터에 할당 된 IP 주소입니다. 즉, 컴퓨터가 라우터를 소유하지 않습니다. cmd 프롬프트에서 ipconfig 명령을 실행하고 eth/wifi IP 주소를 찾아서 app.listen (192 또는 10으로 시작)에서이를 사용하면이를 증명할 수 있습니다. 앱을 더 쉽게 공개하려면 라우터에서 노드 앱을 실행하는 컴퓨터의 포트 5000을 전달하면됩니다. 희망이 도움이!

관련 문제