簡體   English   中英

Node.js Express-以公共方式運行項目

[英]Node.js Express - run project as public

在大多數時間里,我都是在Linux上公開運行項目的,因此不會遇到麻煩。 但是現在我嘗試在Windows上也以公共方式運行項目。 我為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);
});

第二個參數是您要監聽的監聽路徑。 最簡單的解決方案是將其設置為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偵聽所有路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM