![](/img/trans.png)
[英]Connecting to node.js server on same AWS instance different port, connection refused
[英]AWS EC2 instance connection refused on port 8085
我在 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 时,我得到无法访问站点。 (端口没有监听)
我究竟做错了什么?
我不是一个 telnet 人,所以也许我错过了一些东西。 您确实与机器建立了连接,否则您会收到超时错误,因此您的安全组没问题。 但请注意,您正在侦听 http 请求。 正如我之前所说,我不是 telnet 人,但我不认为您在终端中使用 http 协议,正如@EdsonCSouza 所提到的。 尝试使用 curl 看看你会得到什么。
你的代码似乎没问题。 我在这里进行了测试,您的安全组似乎也不错...当您检查端口是否正在侦听时,您能否检查节点进程是否正在运行? 根据您提供的信息,这并不清楚。
您还可以检查您的 VPC 的网络访问控制列表 (ACL) 吗? 可能存在可能阻止此网络 ACL的显式拒绝
如果您尝试将实例本地连接到 api 网关或其他任何方式,请尝试将 localhost 更改为您的 ec2 实例的私有 IP。 这对我有用.. PS:可能有点偏离轨道但可以帮助某人
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.