AWS EC2 错误:无法访问该站点 - ec2.us-west-1.compute.amazonaws.com 响应时间太晚。部署 NodeJS



i当前使用Amazon Linux运行并运行EC2实例,并使用Filezilla通过SFTP将我的项目(将我的项目(包含React/nodejs/express)传输到EC2实例。

对于EC2的安全组,我打开了一个3000的端口(协议:TCP,来源:0.0.0.0/0),这也是我的Express的定义方式。

因此,我将EC2实例介绍并运行了项目的快递,并看到它在终端内听到端口3000。但是,一旦我用ec2...us-west-1.compute.amazonaws.com:3000击中了公共DNS,它说无法到达该网站-EC2 ... us-west-1.compute.amazonaws.com,太晚回应了。

可能是什么问题,我该如何从这里连接到它?

预先感谢您,并将赞成/接受答案。

只需检查您的node.js服务器是否在EC2实例上运行。

调试:

  1. 首先检查当地是否正常工作。
  2. 在EC2中检查Node.js服务器。
    • sudo netstat -tulpn | grep :3000
  3. 尝试使用运行服务器 - 冗长标志即npm run server --verbose
    • 它将在启动时显示服务器的日志。
  4. 检查EC2实例的安全组设置。
  5. 尝试与IP连接:端口I.E 35.2。:3000

如果仍然不起作用,则需要很长时间。 这意味着其他一些服务正在同一端口上运行。

在EC2中尝试一下:

sudo killall -9 node 
npm run server

并与使用 IP (54.4.5。*:3000)或 public DNS (httpp)://ec2...us-west-1.compute.amazonaws.com:3000)。

希望它会有所帮助:)

您可能会遇到出站流量的问题。您可能会在公司的网络内,无论是物理连接还是在VPN中进行。在某些情况下,您的VPN不设置以处理拆分流量,因此您必须遵守公司的出站限制。

在这种情况下,您需要使用代理来访问您的网站。锁定安全组时,请确保您使用代理的公共IP(不是公司的IP)。

通常,当我们有连接性问题时,它是基本或防火墙。我假设您已经检查了防火墙是否在任何一端运行,例如。iptables -L -N。另外,任何协议分析仪(如Wireshark或TCPDUMP)都会告诉您在哪里可见到端口3000的数据包。

最新更新