Node.js Express - 将项目作为公共项目运行

时间:2017-03-09 18:45:51

标签: node.js windows express

在大多数时候,我在Linux上运行项目是公开的,没有麻烦。但是现在我尝试在Windows上运行项目也是public。 I created Windows防火墙规则。当我尝试打开页面 192.168.0.106:3000 时,我收到错误,该服务器无法正常工作。如何将公共Node.js Express项目配置为公共?

感谢。

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);
});

1 个答案:

答案 0 :(得分: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收听所有路线。