安装在我的VPS上的Node.js服务器只能在我的网络上访问。外界的人们无法访问它。如果在线,则应该可以在世界范围内访问它,也可以不在任何地方访问它。该怎么办?
我的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');
});
最佳答案
好吧,在您的问题中,您说您想让世界上每个人都可以访问Node应用程序,或者根本不希望任何人访问。但是,如果您是VPS提供商,则只能将其限制在内部网络上运行,那么就不可能完成您所要求的工作。
网络规则将完全不允许这样做。
话虽如此,我将为您更改Express应用程序提出建议。外观如下:
let express = require('express');
let app = express();
app.listen(3000);
上面的代码将直接使用Express以最简单的方式将Node应用程序绑定到端口3000。这可能就是您想要的。
另外:请注意,如果您打算建立公共服务,则可能需要执行以下两项操作之一:
将Express服务器绑定到端口80(用于HTTP),或者
使用Web服务器将请求从端口80(HTTP)代理到端口3000(本地)。