【发布时间】:2021-11-27 22:47:43
【问题描述】:
我在 AWS 中有一个新的 EC2 实例,我也在其中托管了一个网页。我将实例关联到一个安全组,并且一些规则起作用(如连接到 mysql 或 vesta)。我用 nodeJS 创建了一个简单的服务器,我想监听来自端口 8085 的请求(我可以选择任何一个......)。我在安全组里创建了一个入站规则监听8085端口,好像是想监听,但是连接被拒绝:因为被拒绝,我认为不是安全组问题。
这是入站安全规则:
我试过其他帖子提到“netstat -a -n | grep 8085”和“netstat -an | grep 8085”,但我什么也没得到 "
这是我创建服务器的代码
const express = require('express');
const app = express();
const PORT = 8085;
app.get('/', (req, res) => {
res.send("testing");
});
app.listen(PORT, () => {
console.log(`Server running at: http://localhost:${PORT}/`);
});
当我运行它时,我在控制台中看到“服务器在 http://localhost:8085/ 运行”,但是当我在浏览器中输入 IP 地址:8085 时,我得到了无法访问站点。 (端口没有监听)
我做错了什么?
【问题讨论】:
-
如果您登录实例并尝试连接到
localhost:8085,是否有效? (例如curl localhost:8085) -
当我在我的实例中从控制台运行 localhost:8085 时,我得到“无法连接到 localhost 端口 8085:连接被拒绝”
-
这表明该端口上没有运行任何东西,或者 实例内 中的某些东西阻止了访问。该问题与实例“外部”的任何内容(例如安全组)无关。首先尝试通过
localhost:8085使其工作,然后尝试使其在实例外部工作。 -
当我在控制台输入 [curl localhost:8085] 或 [curl localhost:80] 或任何其他端口(包括正在工作的端口)时,总是会收到相同的响应:[curl: (7 ) 无法连接到 localhost 端口...]
标签: javascript node.js amazon-ec2 server port