【发布时间】:2020-08-04 17:59:08
【问题描述】:
我想通过在浏览器中输入我的公共 IP 地址来从远程 node.js 服务器获得响应。当我在我的个人计算机上的浏览器中输入我的公共 IP 时,我得到“无法连接”。我的 node.js 服务器没有连接到 World =(
- 我在 Linode 上运行 CentOS(但我认为这两种选择对我的问题都不重要)。
- 通过我的个人计算机(Mac)上的终端,我可以成功地以 root 身份通过 SSH 连接到我的 Linode。
- 我已经在我的 Linode 上成功安装了 node.js。
- 我可以在我的 Linode 上编译和运行一个简单的服务器。
var http = require('http');//create a server object:
http.createServer(function (req, res) {
res.write('Hello World!'); //write a response
res.end(); //end the response
}).listen(3000, function(){
console.log("server start at port 3000");
});
我试过了:
- 设置主机名。
- 更改我服务器上的“hosts”文件。
- 在我的 node.js 服务器中更改端口号(3000、80、8080、3001、0.0.0.0 等)。
- 今天阅读了 100 篇有关如何部署 node.js 服务器的文章。
- 在 Google、Stackoverflow、Linode 论坛等中搜索可能对我有帮助的主题。
我对自己做错了什么一无所知,非常感谢您的帮助。
【问题讨论】:
-
你端口转发了吗?
-
这是我需要做的事情吗?
-
如果您在家中或本地网络上运行此程序,则需要进行端口转发。这可能因您的 ISP/调制解调器而异,因此我建议查找
{your isp} how to port forward -
node.js 服务器在远程 Linode 上运行,而不是我家或本地网络。
-
奇怪 - 您是否尝试过联系服务器提供商?