尽管属于安全组,Amazon EC2 端口 80 仍未打开

尽管属于安全组,Amazon EC2 端口 80 仍未打开

我是 AWS 新手,所以很可能我遗漏了一些简单的东西,但这是我遇到的问题。我按照教程创建了一个 EC2 实例 (t2.micro),并配置了一个安全组以允许来自任何来源的 HTTP (端口 80),但该端口未打开。

安全组

我可以毫无问题地 ssh 到我的服务器,并且当我使用端口扫描应用程序时(例如http://ping.eu/port-chk/),我看到端口 22 已打开,但端口 80 未打开。当我尝试时wget http://localhost,我得到:

Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.

如果这有帮助,以下是结果sudo netstat -plunta | grep LISTEN

tcp        0      0 0.0.0.0:55171               0.0.0.0:*                   LISTEN      2334/rpc.statd      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2313/rpcbind        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2500/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2530/sendmail       
tcp        0      0 :::111                      :::*                        LISTEN      2313/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      2500/sshd           
tcp        0      0 :::56605                    :::*                        LISTEN      2334/rpc.statd      

编辑:

我正在使用此 EC2 实例从 dockerhub 构建容器。我能够使用 在本地构建容器docker run -p 8000:8000 -t hsdetect,因此我将其放在 dockerhub 上并尝试使用以下命令通过端口 80 连接到它:docker run -d -p 80:8000 jss367/hsdetect:new_port python app.py

答案1

在安全组中打开端口 80 不会在 EC2 实例中创建侦听该端口的进程。您需要安装一个应用程序(例如 Apache)来侦听端口 80。

假设您希望在实例中运行 Web 服务器,请安装 Apache。

示例命令:

sudo yum update -y
sudo yum install -y httpd24
sudo service httpd start
sudo chkconfig httpd on

这将为您提供一个简单的 Apache 默认安装。

注意:我假设您的实例是 Amazon Linux。其他发行版的命令可能有所不同。

相关内容