[英]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.