VPS上的Nodejs只在我的networking上运行

只能在我的networking上访问安装在我的VPS上的Nodejs服务器。 外面的人不能访问它。 如果它的在线,它应该可以在全世界或任何地方访问。 该怎么办?

代码在我的js文件中:

var app = require('express')(); var http = require('http').Server(app); // Also tried http.listen(3000, "0.0.0.0", function(){ http.listen(3000, function(){ console.log('Server listening to port 3000'); }); 

那么,在你的问题中,你说你希望节点应用程序可以被全世界的所有人访问,或者根本不需要。 如果你是VPS提供商限制你只在内部networking上运行的东西,那么就不可能做你正在问的东西。

networking规则将不允许它。

但是,这样说,我会build议更改您的Express应用程序。 以下是它的外观:

 let express = require('express'); let app = express(); app.listen(3000); 

上面的代码将以最简单的方式使用Express直接绑定您的Node应用程序到端口3000。 这可能是你想要的。

另外:请注意,如果您打算build立公共服务,您将需要做以下两件事之一:

  • 将Express服务器绑定到端口80(用于HTTP)或
  • 使用Web服务器将来自端口80(HTTP)的请求代理到端口3000(本地)。

我不好的网站的IP作为第二个参数的听function解决了它。

 http.listen(3000, "xx.xxx.xx.xxx", function(){ console.log('Server listening to port 3000'); });