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实例上运行。
调试:
- 首先检查当地是否正常工作。
- 在EC2中检查Node.js服务器。
-
sudo netstat -tulpn | grep :3000
-
- 尝试使用运行服务器 - 冗长标志即
npm run server --verbose
- 它将在启动时显示服务器的日志。
- 检查EC2实例的安全组设置。
- 尝试与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的数据包。