如何在浏览器中访问远程 node.js 应用程序,而不是在本地主机上
How to access remote node.js app in browser, not on localhost
我正在尝试设置一个简单的 "Hello world" node.js 应用程序。
我创建了以下 index.js 文件:
var app = require("express")();
var http = require("http").Server(app);
app.get("/", function(req, res){
res.send("<h1>Hello worlddddd</h1>");
});
http.listen(8080, function(){
console.log("listening on *:8080");
});
当我打开本地控制台并执行 node index.js
时,我收到了预期的消息 "listening on *:8080"。我将浏览器指向 localhost:8080,我看到 HTML 页面显示 "Hello worlddd",如我所愿。
现在,我正尝试在我的虚拟专用服务器上做同样的事情,这样我就可以从不同的计算机访问同一个应用程序,但我得到的只是连接超时。我已执行以下步骤:
- 在我的 VPS
上安装 node.js
- 通过
npm install --save express@4.10.2
安装 express
- 将我的 index.js 文件上传到我服务器上的
var/www/html
文件夹,IP 为 192.123.123.12(例如,这不是我的真实 IP)。
- 通过 PuTTY 和 运行
node index.js
访问服务器,在那里我得到 "listening on *:8080"
,所以我知道 node.js 正在工作。
- 现在我将浏览器指向
http://192.123.123.12:8080
,大约 20 秒后,我收到浏览器错误:"The connection has timed out".
- 我试过监听 :80 端口,但收到此端口已被使用的错误消息。
有人知道我做错了什么吗?我使用了错误的端口吗?我指向错误的 URL 了吗?我需要修改我的服务器首选项吗? (运行在 CentOS 上使用 Apache)。我只找到了很多教你如何在本地计算机上 运行 一个 node.js 应用程序的教程(将浏览器指向 localhost:8080),但我需要它 运行 在我的远程服务器上,以便多台计算机可以访问同一个应用程序。
问题是您当前的过滤器 (iptables) 会阻止流量,除非您明确允许。
您只需要打开 TCP 8080 入站端口,您应该能够到达您的 node.js 服务器!
我正在尝试设置一个简单的 "Hello world" node.js 应用程序。
我创建了以下 index.js 文件:
var app = require("express")();
var http = require("http").Server(app);
app.get("/", function(req, res){
res.send("<h1>Hello worlddddd</h1>");
});
http.listen(8080, function(){
console.log("listening on *:8080");
});
当我打开本地控制台并执行 node index.js
时,我收到了预期的消息 "listening on *:8080"。我将浏览器指向 localhost:8080,我看到 HTML 页面显示 "Hello worlddd",如我所愿。
现在,我正尝试在我的虚拟专用服务器上做同样的事情,这样我就可以从不同的计算机访问同一个应用程序,但我得到的只是连接超时。我已执行以下步骤:
- 在我的 VPS 上安装 node.js
- 通过
npm install --save express@4.10.2
安装 express
- 将我的 index.js 文件上传到我服务器上的
var/www/html
文件夹,IP 为 192.123.123.12(例如,这不是我的真实 IP)。 - 通过 PuTTY 和 运行
node index.js
访问服务器,在那里我得到"listening on *:8080"
,所以我知道 node.js 正在工作。 - 现在我将浏览器指向
http://192.123.123.12:8080
,大约 20 秒后,我收到浏览器错误:"The connection has timed out". - 我试过监听 :80 端口,但收到此端口已被使用的错误消息。
有人知道我做错了什么吗?我使用了错误的端口吗?我指向错误的 URL 了吗?我需要修改我的服务器首选项吗? (运行在 CentOS 上使用 Apache)。我只找到了很多教你如何在本地计算机上 运行 一个 node.js 应用程序的教程(将浏览器指向 localhost:8080),但我需要它 运行 在我的远程服务器上,以便多台计算机可以访问同一个应用程序。
问题是您当前的过滤器 (iptables) 会阻止流量,除非您明确允许。
您只需要打开 TCP 8080 入站端口,您应该能够到达您的 node.js 服务器!