使用 IP 地址连接到 AWS EC2

Posted

技术标签:

【中文标题】使用 IP 地址连接到 AWS EC2【英文标题】:Connect to AWS EC2 using IP Address 【发布时间】:2016-12-02 05:31:57 【问题描述】:

我正在尝试使用 Apache 在 AWS 上提供网站服务,这是我以前做过的事情。在这种情况下,我不确定为什么无法连接。

我的安全组设置允许连接端口 80、22、443、27017。

netstat -ntlp 的输出 | grep LISTEN 是:

tcp 0 0 0.0.0.0:22 0.0.0.0:* 听 - tcp 0 0 0.0.0.0:27017 0.0.0.0:* 听 - tcp 0 0 127.0.0.1:6379 0.0.0.0:* 听 - tcp6 0 0 :::22 :::* 听 - tcp6 0 0 :::80 :::* 听

sudo iptables -L 的输出是:

链输入(策略接受) 目标 prot 选择源目标 接受 tcp -- 任何地方的任何地方都有新的 tcp dpt:http ACCEPT tcp -- 随时随地 tcp dpt:http ACCEPT tcp -- 随时随地 tcp dpt:http ACCEPT tcp -- 随时随地 tcp dpt:https

Chain FORWARD(政策接受) 目标 prot opt 源目标

链输出(策略接受) 目标 prot opt 源目标

当我 telnet 可以连接的 IP 地址和端口 22 时,我也可以通过 SSH 进入盒子。当我远程登录 IP 地址和端口 80 或 443 时,连接被拒绝。

我错过了什么?

【问题讨论】:

首先,您确定安全组允许来自源 0.0.0.0/0 的端口 80 和 433 上的连接吗?如果没问题,您的 EC2 是否在 VPC 中? VPC的安全组如何? 安全组设置为:Ports Protocol Source eddy-wptest 80 tcp 0.0.0.0/0 ✔ 2368 tcp 0.0.0.0/0 ✔ 22 tcp 0.0.0.0/0 ✔ 27017 tcp 0.0.0.0/ 0 ✔ 443 tcp 0.0.0.0/0 ✔ 你的公网IP地址呢?配置好了吗? 【参考方案1】:

根据您的信息,您只允许通过 IPv6 进行端口 80 连接。 所以即使你监听了 80 端口,你也无法通过 IPv4 地址成功地远程登录 HTTP(80 端口)和 HTTPS(443 端口)。

我建议你参考这个:http://httpd.apache.org/docs/current/bind.html

确保您的 httpd.conf 文件中有类似的内容:

Listen 0.0.0.0:80

【讨论】:

以上是关于使用 IP 地址连接到 AWS EC2的主要内容,如果未能解决你的问题,请参考以下文章

将域名连接到 AWS EC2

如何从本地使用 SSL 加密连接到 AWS RDS?

我允许 EC2 安全组中的哪些 IP 地址允许客户端 *** 流量通过?

AWS - 从EC2连接到SQS

如何连接到 AWS 中的 EC2 实例?

通过 EC2 连接到 AWS MySQL?