2

我已经创建了亚马逊 EC2 实例,并且还可以使用以下命令进行 SSH

ssh -i Ec2CHD5.pem ubuntu@ec2-xx-xx-xxx-xxx.ap-southeast-1.compute.amazonaws.com

当我尝试 pingc2-xx-xx-xxx-xxx.ap-southeast-1.compute.amazonaws.com 时,我也可以这样做。

但是,当我尝试卷曲curl http://c2-xx-xx-xxx-xxx.ap-southeast-1.compute.amazonaws.com 时,连接被拒绝,我是否遗漏了任何步骤或指南?

有人可以指导我进行故障排除。

4

3 回答 3

3

可能您在 aws 实例上运行的服务器只监听 localhost 或 127.0.0.1,因此它将忽略来自外部的连接。尝试听 0.0.0.0

于 2019-04-11T20:16:54.540 回答
2

就我而言,问题不在aws中,而是在我启动的http服务中。我的 http 服务是一个 node express 应用程序。在监听命令中,我必须传递“0.0.0.0”作为监听服务器,而不是“127.0.0.1”

http.createServer( .... ).listen(80, '0.0.0.0');

在 aws 方面,这是通常的清单:

  1. 为您的实例启用公共 IP 地址
  2. 安全组应该有适当的入站规则
  3. 与您的实例关联的子网,应具有正确的网络 ACL 和路由表。

对于 aws 方面的这三个步骤,您可以参考此页面:https ://aws.amazon.com/premiumsupport/knowledge-center/instance-vpc-troubleshoot/

于 2020-11-16T11:23:50.067 回答
1

您需要配置 EC2 实例的安全组并允许http流量通过。

您可以在 AWS 管理控制台上执行此操作。浏览到 EC2 部分,您可以在其中查看所有实例。右键单击实例(您要更改其安全组)并选择Networking > Change Security Groups

检查您要分配的安全组并单击Assign Security Groups按钮。

http您还可以创建一个允许入站流量的安全组(如果没有的话) 。

于 2015-06-06T18:05:12.000 回答