首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接EC2实例的公网IP

无法连接EC2实例的公网IP
EN

Stack Overflow用户
提问于 2016-04-20 10:41:34
回答 5查看 5.9K关注 0票数 3

我有一个EC2实例,它使用以下安全组运行:

代码语言:javascript
复制
HTTP - TCP - 80 - 0.0.0.0/0
Custom UDP Rule - UDP - 1194 - 0.0.0.0/0
SSH - TCP - 22 - 0.0.0.0/0
Custom TCP Rule - TCP - 943 - 0.0.0.0/0
HTTPS - TCP - 443 - 0.0.0.0/0

但是,当我尝试在浏览器中访问http://{PUBLIC_IP}https://{PUBLIC_IP}时,我收到一个"{IP}拒绝连接“错误。我是AWS的新手。我是不是漏掉了什么?我应该怎么做才能调试?

EN

回答 5

Stack Overflow用户

发布于 2016-04-21 03:06:36

调试这类特定问题的一种方法是使用netcat来确定问题所在。

如果您对实例的公共IP地址上的端口80运行netcat,并且只得到一个挂起(根本没有输出),那么很可能您的安全组不允许流量通过。以下是一个安全组中不允许端口80流量入站的EC2实例的示例:

代码语言:javascript
复制
% nc -v 55.35.300.45 80
<just hangs>

如果将安全组更改为允许端口80,但EC2实例没有任何进程监听端口80,则会得到以下结果:

代码语言:javascript
复制
% nc -v 55.35.300.45 80
nc: connectx to 52.38.300.43 port 80 (tcp) failed: Connection refused

假设您的浏览器给出了类似的“连接被拒绝”,问题很可能是您的实例上没有运行web服务器。您可以通过ssh进入实例并查看是否可以连接到端口80来验证这一点:

代码语言:javascript
复制
ssh ec2-user@55.35.300.45
% nc -v localhost 80
nc: connect to localhost port 80 (tcp) failed: Connection refused

如果你得到类似上面的东西,你肯定不是在运行get服务器。

票数 10
EN

Stack Overflow用户

发布于 2016-04-20 13:44:25

您是否安装了webserver(ngingx/apache)来处理您的请求。如果是这样,请分享您的配置文件。(以便有助于故障排除)

票数 0
EN

Stack Overflow用户

发布于 2016-04-20 13:51:23

我认为原因可能是你没有为你的EC2实例设置web服务器,因为如果你试图访问http://{PUBLIC_IP}https://{PUBLIC_IP},你需要有一个后台服务器来处理http请求,就像@Niranj Rajasekaran所说的那样。

顺便说一句,只需对{PUBLIC_IP}执行pinging操作,就可以查看与EC2实例的连接是否正常。

在命令提示符或终端中,键入

ping {PUBLIC_IP}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36732875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档