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的路由器,它也不會響應轉發的互聯網呼叫!