VPS上的Nodej仅在我的网络上运行

时间:2016-08-27 16:43:35

标签: javascript node.js express centos vps

我的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');
});

2 个答案:

答案 0 :(得分:1)

好吧,在你的问题中,你说你想让世界上每个人都可以访问Node应用程序,或者根本没有人可以访问。但是,如果您的VPS提供商限制您只在内部网络上运行,那么就无法按照您的要求进行操作。

网络规则根本不允许。

然而,据说,我将建议您更改Express应用程序。以下是它的外观:

let express = require('express');

let app = express();

app.listen(3000);

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

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

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

答案 1 :(得分:0)

我的错误是添加了网站的IP,因为listen功能的第二个参数解决了它。

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