2017-03-09 3 views
0

대부분의 시간 동안 저는 Linux에서 프로젝트를 공개적으로 실행하고 있으며 문제가 없습니다. 하지만 이제 Windows에서 public 프로젝트를 실행 해 봅니다. Windows 방화벽에 대한 규칙은 created입니다. 그리고 내가 열려고 시도 할 때 192.168.0.106:3000 나는 그 서버가 작동하지 않는 오류가 발생합니다. 공개 Node.js Express 프로젝트를 공용으로 구성하는 방법은 무엇입니까?Node.js 프로젝트를 공개로 실행하십시오.

감사합니다.

this.app.listen(process.env.PORT || 3000, '192.168.0.106', function() { 
    console.log(chalk.green('Server started with port 3000')); 
    var os = require('os'); 
    var interfaces = os.networkInterfaces(); 
    var addresses = []; 
    for (var k in interfaces) { 
     for (var k2 in interfaces[k]) { 
      var address = interfaces[k][k2]; 
      if (address.family === 'IPv4' && !address.internal) { 
       addresses.push(address.address); 
      } 
     } 
    } 
    console.log(addresses); 
}); 
+0

서버 시작 방법 코드 스 니펫을 표시 할 수 있습니까? 대부분 '0.0.0.0'또는 'any'장치로 듣고 싶지만 스 니펫으로 보게 될 것입니다. –

답변

0

두 번째 인수는 당신이 듣고 싶은 청취 경로입니다. 가장 쉬운 해결책은 모든 경로에서 수신 대기하려면 0.0.0.0으로 설정하는 것입니다.

this.app.listen(process.env.PORT || 3000, '0.0.0.0', function() { 
    //... 
}) 

여기에 http.listen API에 대한 설명서가 있습니다. 그러나 특정 IP 주소를 지정하면 해당 한 경로에서만 수신 대기하게됩니다. 192.168.0.x으로 자신에게 다시 전화하려고하면 다른 경로에서 전화하는 것입니다. 마찬가지로 127.0.0.1도 마찬가지입니다. 0.0.0.0을 사용하면 모든 경로에서 수신 대기합니다.

+0

당신이 말하는 것을 좋아하지 만 여전히 서버 페이지에 액세스 할 수 없습니다 –

+0

'http : // localhost : 3000' 특정 IP가 아니요 –

+0

로컬에서는 모든 것이 잘 작동합니다. 다른 장치와 장소에서 액세스하고 싶습니다. 간단한 사이트처럼 사용 –

관련 문제