AWS EC2 实例连接在端口 8085 上被拒绝

AWS EC2 instance connection refused on port 8085

我在 AWS 中有一个新的 EC2 实例,我也在其中托管一个网页。我将该实例关联到一个安全组,并且一些规则有效(例如连接到 mysql 或 vesta)。我用 nodeJS 创建了一个简单的服务器,我想监听来自端口 8085 的请求(我可以选择任何......)。我在安全组里面创建了一个入站规则监听8085端口,好像是想监听,但是连接被拒绝了:As it is refused, I don't think is security group problem.

这是入站安全规则:

我试过其他 post 提及“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}/`);
    });

当我 运行 它时,我在控制台中得到了“Server 运行ning at http://localhost:8085/”,但是当我输入 IP address:8085 时在浏览器中我得到 The site can't be reached. (端口未监听)

我做错了什么?

您的代码似乎没问题。 我在这里测试过,你的安全组似乎也不错...... 当您检查端口是否正在侦听时,您可以检查节点进程是否 运行 吗? 从你给的信息看不清楚。

我不太喜欢远程登录,所以也许我漏掉了什么。 你确实与机器有连接,否则你会收到超时错误,所以你的安全组没问题。 但是请注意,您正在侦听 http 请求。正如我之前所说,我不是 telnet 人,但我不认为您在终端中使用 http 协议,正如@EdsonCSouza 提到的那样。尝试使用 curl,看看你得到了什么。

另一个缺少的东西是 VESTA 中的防火墙。我又做了一遍,但直到我配置它才起作用。

您还可以检查您的 VPC 的网络访问控制列表 (ACL) 吗? 可能有一个明确的拒绝可以阻止这个 Network ACLs