无法通过某些端口访问 EC2

无法通过某些端口访问 EC2

我能够使用 Windows 的 Putty(端口 TCP 22)连接到我的 EC2,但不能连接到其他端口(例如端口 TCP 80 或 TCP 3000)。

使用后netstat我可以看到我在 22 以外的端口上获得了 SYN_SENT:

netstat -na |find "35.181.14.57"
  TCP    192.168.53.151:58660   35.181.14.57:22        ESTABLISHED
  TCP    192.168.53.151:58694   35.181.14.57:22        ESTABLISHED
  TCP    192.168.53.151:62362   35.181.14.57:80        SYN_SENT
  TCP    192.168.53.151:62363   35.181.14.57:80        SYN_SENT

EC2 的安全组包含 80 和 3000 端口,就像打开端口 22 一样。另外,我尝试完全打开入站端口: 在此处输入图片描述

在本地运行curl证明服务器正在监听该端口:

curl http://127.0.0.1:80
Hello World

我还验证了 ubuntu 的本地防火墙已被禁用:

sudo ufw disable
  Firewall stopped and disabled on system startup

这里变得疯狂起来,我错过了什么??

答案1

问题解决了!显然,我下载了一个糟糕的 Hello World 示例。它是一个运行以下代码的 node.js 服务器:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3000/');

指定 IP 时,服务器会监听针对该 IP 的请求。删除 IP - 解决了该问题。

}).listen(3000);

相关内容