为什么我无法访问我的新 AWS EC2 实例?

为什么我无法访问我的新 AWS EC2 实例?

我是 AWS Ec2 的新手。我刚刚启动一个实例,上传了 test.php 和 test.html,两者都只显示“Hello world”文本。

我复制了我的公共 DNS:ec2-XXX-XXX-XXX-XXX.compute.amazonaws.com

但总是出现连接超时的情况。

我设法连接到实例,我执行了 netstat,结果如下:

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::22                       :::*                        LISTEN      -                   
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               -                   
udp        0      0 XX.XXX.XXX.XX:123           0.0.0.0:*                               -                   
udp        0      0 127.0.0.1:123               0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               -                   
udp        0      0 XXXX::XXXX:XXXX:XXX:123     :::*                                    -                   
udp        0      0 ::1:123                     :::*                                    -                   
udp        0      0 :::123                      :::*                                    -                                                 -       

我看不到用于 websvr 的端口 80,因此我尝试了这个:

ec2-authorize default -p 80

但它总是要求我包含私钥和证书,所以我将它们包括在内

ec2-authorize default -p 80 -K XXX.pem -C cert-XXX.pem

然后,它总是说证书无法验证 SOAP。

我的证书有问题吗?(即使我申请了新的,但结果还是一样)

或者我应该怎么做才能查看我的网页(test.php 或 test.html)?

编辑:

当我运行: sudo tcpdump -pn port 80

结果:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

在网页中打开后:

09:43:16.353743 IP XXX.XXX.X.XXX.4570 > XX.XXX.XXX.XX.http: Flags [S], seq 1XXXXXXXX6, win 8190, options [mss 1440], length 0
09:43:16.353779 IP XX.XXX.XXX.XX.http > XXX.XXX.X.XXX.4570: Flags [R.], seq 0, ack 1XXXXXXXX7, win 0, length 0
... etc

答案1

我猜你正在连接到 EC2 实例ec2-用户,因为这是Amazon Linux AMI 基础 2010.11.1。但要运行 tcpdump 命令,您需要使用须藤

sudo tcpdump ...

我不熟悉 tcpdump 命令,因此您必须自己理清正确的语法。

我可能不熟悉tcpdump,但我熟悉Amazon Linux AMI 基础 2010.11.1,根据您的问题,我想知道您是否安装了 Apache、PHP、MySQL 等?这些程序默认不包含在 Amazon 的基本 AMI 中。您可以运行以下命令查看已安装的所有软件包。

yum list installed

您需要安装的任何未列出的程序都需要使用好吃或从源代码编译。

sudo yum install <program_name_here>

例如,要安装 Apache 2.2,您可以运行:

sudo yum install httpd

以下是一些很好的资源:

操作方法:开始使用 Amazon EC2 API 工具

AWS EC2 入门指南

希望这一切都有帮助...

答案2

默认不允许http连接该实例:

相关内容