2011-08-26 6 views
10

Windows에서 nodejs에 대한 기본 웹 서버 hello world app을 가지고 있으며 localhost에서 작동합니다. 하지만 인터넷에서 테스트 할 때 연결할 수 없습니다. 내 넷기어 라우터에서 포트 포워딩을 설정했습니다. 내 nodejs 서버를 외부 세계에 보이게하려면 여기 단계가 빠졌습니까?Node.JS 인터넷에서 작동하지 않습니다

감사합니다.

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, "127.0.0.1"); 
console.log('Server running at http://127.0.0.1:1337/'); 
+0

사용중인 코드를 표시하면 도움이됩니다. – AppleGrew

+0

nodejs 웹 사이트의 hello world 웹 서버에 불과합니다. – BRampersad

답변

17

당신이 0.0.0.0 대신

127.0.0.1127.0.0.1의에서 수신 확인은 컴퓨터에 표시 개인 네트워크입니다. 0.0.0.0은 개인 및 공용 (NAT 뒤에있을 수있는 공용)을 포함하여 모든 인터페이스를 수신합니다.

+0

멋지다, 당신은 그것을 어디에서 배웠습니까? 심지어 0.0.0.0이 유효한 ip인지 몰랐습니다. – BRampersad

+0

리눅스 랜드 어딘가에 가져 왔는데, 아마 lighttpd 설정을 손으로 수정하는 것일 겁니다. 오랜만이야. –

+0

동일한 문제가 있는데 0.0.0.0을 사용했지만 여전히 외부 서버에 액세스 할 수 없습니다. – xybrek

0

로컬 호스트 인 IP 주소 127.0.0.1에 서버를 바인딩하는 것처럼 보입니다. 다른 위치에 액세스하려면 인터넷 IP로 설정해야합니다. whatismyip.com을 확인하고 그 IP를 대신 사용하십시오.

+0

그가 NAT 뒤에있는 경우에는 작동하지 않습니다. 그의 내부 IP 주소는 (아마도) 192.168.x.x 일 것이지만 그의 공개 주소는 완전히 다른 것입니다. –

+0

NAT가 설치된 경우 어떻게해야합니까? – rocketspacer

관련 문제