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

无法通过HTTP/HTTPS访问AWS EC2实例问题排查求助

排查EC2上Tomcat无法访问的实用步骤

先别着急,咱们结合你重建EC2环境后的情况,一步步排查Tomcat访问不了的问题:

1. 先确认安全组的实际关联状态

你提到有三个安全组,首先要核实当前EC2实例绑定的是哪几个安全组——重建环境时很容易疏忽,没把配置了80/8080规则的安全组正确关联到实例上。可以在EC2控制台的实例详情「安全组」标签里查看,确保包含你设置了HTTP和8080端口规则的组。

另外要注意:安全组是累加生效的,但如果其中某个安全组设置了严格的拒绝规则(比如拒绝所有入站流量),会直接覆盖允许规则,建议检查所有关联安全组的入站/出站规则,确保没有冲突。

2. 登录实例排查Tomcat本身的状态

你已经配置了SSH的IP白名单,先通过SSH登录到EC2实例,执行以下命令排查:

  • 检查Tomcat是否在运行:ps aux | grep tomcat(如果是systemd管理的服务,用systemctl status tomcat)
  • 确认Tomcat的监听端口:netstat -tulpn | grep 8080 或 ss -tulpn | grep 8080,重点看是否监听在0.0.0.0:8080——如果是127.0.0.1:8080,那只能本地访问,外部连不上
  • 检查实例内部防火墙:比如Ubuntu的ufw、CentOS的firewalld,看看有没有规则拦截80/8080端口。可以临时关闭防火墙测试:sudo ufw disable 或 sudo systemctl stop firewalld

3. 验证网络层面的可达性

  • 测试公网IP连通性:如果实例开了ICMP入站规则,用ping 你的EC2公网IP测试(没开的话跳过这步)
  • 测试端口连通性:用telnet 你的EC2公网IP 8080 或 curl http://你的EC2公网IP:8080,如果连接超时,大概率是网络/安全组问题;如果返回「连接被拒绝」,那基本是Tomcat没启动或监听配置有问题。

4. 检查Tomcat的核心配置

登录实例后,找到Tomcat的server.xml文件(通常在/opt/tomcat/conf/或类似路径),查看<Connector>标签:

  • 确认port属性是8080(或你配置的端口)
  • 确认address属性是0.0.0.0——如果设成了特定IP,只会允许该IP访问
  • 查看Tomcat日志找启动报错:tail -n 50 /opt/tomcat/logs/catalina.out,日志里会明确显示启动失败的原因(比如端口被占用、配置文件语法错误)

5. 确认弹性公网IP(EIP)的绑定

如果你之前用了固定的弹性公网IP,重建实例后需要重新把EIP绑定到新EC2上,不然实例的公网IP是临时的,可能导致之前的访问地址失效。


内容的提问来源于stack exchange,提问作者Tim Biegeleisen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:55:26