为什么我无法访问我的新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 :::* - - 

我不能看到端口80这是为websvr,所以我试过这个:

 ec2-authorize default -p 80 

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

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

然后,它总是说证书未能validationSOAP。

我的证书有问题吗? (即使我要求一个新的,它仍然是一样的)

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

编辑:

当我运行:sudo tcpdump -pn端口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 

我猜你正在以ec2-user的身份连接到EC2实例,因为这是Amazon Linux AMI Base 2010.11.1的默认login名。 但是要运行tcpdump命令,你需要使用sudo

 sudo tcpdump ... 

我不熟悉tcpdump命令,所以你将不得不自己理清正确的语法。

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

 yum list installed 

您需要安装的任何未列出的程序都需要使用yum进行安装,或者从源代码进行编译。

 sudo yum install <program_name_here> 

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

 sudo yum install httpd 

这里有一些很好的资源:

如何:开始使用Amazon EC2 api工具

AWS EC2入门指南

希望这一切帮助…

默认情况下不允许http连接到实例: