如何允许Node.js服务器接收Ubuntu上的所有请求?

如何允许Node.js服务器接收Ubuntu上的所有请求?,node.js,ubuntu,Node.js,Ubuntu,我有一个Node.js程序在Mac和Windows上运行,都允许访问者通过互联网访问。我的设置非常简单: 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],这样它就不会只监听来自本地服务器的请求 然而,当我将同一个服务器应用程序移动到U

我有一个Node.js程序在Mac和Windows上运行,都允许访问者通过互联网访问。我的设置非常简单:

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的路由计算机,它也不会响应转发的internet呼叫

这可能与Node.js无关。可能是你的Ubuntu系统阻塞了连接。具体来说,某些防火墙或安全软件包是由您的某个应用程序作为依赖项安装的,或者其他方式