2013-01-12 10 views
5

localhost에서 정상적으로 작동하는 Node.JS 서버가 있습니다. 이제는 내 컴퓨터에서 호스팅되는 인터넷에서 액세스 할 수있게하려고합니다. 내 공용 IP 주소 "접근"될 것 같지 않습니다 (Google tells me I have 것) :인터넷에 Node.JS 서버 게시

https.createServer({ 
    key: privateKey, 
    cert: certificate 
}, server).listen(80, '86.151.23.17'); 

은 다음과 Node.js를 오류와 함께 실패합니다

Error: listen EADDRNOTAVAIL 
    at errnoException (net.js:770:11) 
    at Server._listen2 (net.js:893:19) 
    at listen (net.js:937:10) 
    at Server.listen (net.js:994:9) 
    at dns.js:71:18 
    at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

가 어떻게 내 Node.js를 게시 할 수 있습니다 서버를 공개 IP 주소로 변경 하시겠습니까?

[참고 : 다른 웹 서버가 실행되고 있지 않습니다. 또한 here과 같이 다양한 포트를 시도했습니다.]

답변

4

라우터 뒤에 있기 때문에 공용 IP를 라우터 자체에 사용할 수 없습니다. 당신이해야 할 일은 당신의 사설 IP (192.168. * 범위 이내)에서 듣고 라우터에 포트를 설치하는 것입니다.

Linux를 사용하는 경우 80보다 큰 1024보다 큰 포트를 사용하면 root로 노드를 실행할 필요가 없습니다. 포트 포워딩을 설정할 때 노드 서버가 실행되는 포트에 포트 80을 전달할 수 있습니다.

+1

에 IP 주소에 당신의 응용 프로그램을 볼 수 있습니다 당신은 라우터가 내 컴퓨터 (아이맥) 또는 내 광대역 와이파이 상자에 구워 생각하십니까? – Randomblue

+2

"Wi-Fi 상자"입니다. – ThiefMaster

+0

대접처럼 일했습니다. 무리 감사. – Randomblue