You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Ubuntu EC2实例安装Nginx后无法通过公网IP访问求助

AWS Ubuntu EC2实例安装Nginx后无法通过公网IP访问求助

别着急,作为新手遇到这种情况太正常了,我来帮你一步步排查问题,咱们慢慢找到原因解决它~

下面是几个关键的排查步骤:

  • 确认EC2实例的公网访问地址是否正确
    先去AWS控制台的EC2实例详情页,核对一下你在浏览器里输入的是不是实例的公网IP或者公网DNS。要注意:如果没给实例绑定弹性IP,重启实例后公网IP会发生变化,别用错了旧IP哦。也可以试试用公网DNS访问,格式大概是ec2-xx-xx-xx-xx.region.compute.amazonaws.com。

  • 检查安全组的出站规则
    你提到已经开了入站的所有流量,但有时候出站规则如果被限制,Nginx也没法正常响应请求。默认安全组的出站规则是允许所有流量的,但还是确认下:进入安全组的「出站规则」标签,看看是否存在允许所有TCP/UDP/ICMP流量到0.0.0.0/0的规则。

  • 在实例内部验证Nginx的运行状态
    登录到EC2实例后,先执行 curl localhost 或者 curl 127.0.0.1,看看能不能返回Nginx的默认欢迎页面。如果能返回,说明Nginx本身运行正常,问题出在网络层面;如果不能返回,那可能是Nginx的配置有问题(不过你说状态是active,大概率没问题,但还是验证下更稳妥)。
    再执行 sudo netstat -tulpn | grep nginx,检查Nginx是否在监听80端口,并且是监听所有IP(输出里应该有0.0.0.0:80)。如果只是监听127.0.0.1:80,那公网就访问不了,不过默认配置是监听所有IP的,这一步主要是排除特殊情况。

  • 检查Ubuntu本地防火墙(ufw)
    这是新手最容易忽略的点!Ubuntu系统默认可能开启了ufw防火墙,即使AWS安全组放行了,本地防火墙也会挡住80端口的请求。执行 sudo ufw status 查看防火墙状态,如果显示active,就执行 sudo ufw allow 80/tcp 来允许80端口的流量,然后再试试访问公网IP。

  • 排除本地网络的限制
    有时候你的家庭或公司网络会屏蔽80端口,导致无法访问。可以试试切换到手机热点网络,或者换个环境访问,排除本地网络的问题。

备注:内容来源于stack exchange,提问作者MUHAMMED SWADHIQ VK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:35:33