2017-07-24 54 views
1

我有一個Node.js程序運行在Mac和Windows上,都允許訪問者通過互聯網。我的設立是超級簡單:如何讓Node.js服務器在Ubuntu上接受所有請求?

var http = require('http'); 
var s = http.createServer(); 
s.listen(80, process.argv[2] || '127.0.0.1'); 

當我運行服務器,我將使用node server.js 0.0.0.0觸發process.argv[2]因此它不會只聽從本地服務器的請求。

然而,當我將相同的服務器應用程序移動到Ubuntu時,它停止工作。例如,如果Ubuntu服務器的IP地址爲172.18.x.x,則它只會響應來自同一網絡中機器的請求,IP地址爲172.18.x.x.如果設備的IP地址爲172.19.x.x,則不會迴應。如果轉發的請求不是來自IP地址爲172.18.x.x的路由器,它也不會響應轉發的互聯網呼叫!

回答

1

這可能與Node.js無關。這可能是你的Ubuntu系統阻止了連接。具體而言,某些防火牆或安全軟件包作爲您應用程序的依賴項或其他方式進行安裝。

相關問題