【发布时间】:2018-12-10 04:40:46
【问题描述】:
我正在尝试在我的网络服务器上测试一个简单的 Node.js 服务器。问题是我无法从我的 chrome 浏览器访问 Node.js 服务器,并且我已经搜索但没有任何成功。
这是我的基本 server.js 脚本(服务器端)
var app = require('express')();
app.get('/test', function (req, res) {
console.log('web page opened');
});
app.listen(3000, function () {
console.log('Listening on port 3000');
});
当我在控制台中运行节点时,我得到了预期的结果
public_html$ node server.js
Listening on port 3000
现在当我尝试访问这样的 URL 时:
http://xxx.xxx.xxx.xxx:3000/test 连接超时,我什么也得不到。
这阻止了我使用 $.ajax 表单向我的节点服务器发送数据,并且 jquery 请求失败并出现错误,因为连接超时问题以及我的 nodejs 端口的 URL:3000 不可访问。
我的主机 (Cloudways) 似乎不允许访问任何端口。如果是这样,在这种情况下我该怎么办?
注意:我没有对服务器的 root 访问权限,他们无法授予 root 访问权限以确保安全。
【问题讨论】:
-
听起来你需要一个新主机
-
这个问题没有解决办法吗?抱歉,这里是 nodejs 的新手。
-
如果主机只允许在特定端口上进行外部连接,例如 80 或 443,您要么希望在该端口上运行 node.js,要么在节点前设置一个网络服务器.js 将代理请求从 80/443 反向到 3000
-
谢谢凯文。看起来我确实确实需要一个新主机..我已经尝试了几个小时没有任何成功..他们也不允许在端口 80 上停止 apache,所以我可以在端口 80 上使用节点。非常没用:/
-
您是否有权在 apache 中创建虚拟主机?这就是反向代理到节点服务器所需的全部内容。
标签: node.js