安装在我的 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');
});
最佳答案
好吧,在您的问题中,您说您希望世界上的每个人都可以访问 Node 应用程序,或者根本没有人可以访问。但是,如果您的 VPS 提供商限制您只能在内部网络上运行,那么您将无法执行您的要求。
网络规则根本不允许。
不过,话虽如此,我还是要提出更改 Express 应用程序的建议。它应该是这样的:
let express = require('express');
let app = express();
app.listen(3000);
上面的代码将以最简单的方式直接使用 Express 将您的 Node 应用程序绑定(bind)到端口 3000。这可能就是您想要的。
另外:请注意,如果您打算建立公共(public)服务,您可能需要做以下两件事之一:
- 将您的 Express 服务器绑定(bind)到端口 80(用于 HTTP),或者
- 使用网络服务器代理从端口 80 (HTTP) 到端口 3000(本地)的请求。
关于javascript - VPS 上的 Nodejs 仅在我的网络上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39183463/