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

部署在AWS EC2 Windows Server的Spring Boot应用仅本地可访问无法公网访问

AWS EC2 Windows Server Spring Boot 8085端口公网访问异常排查方案

1. 校验Spring Boot应用绑定地址

  • 查看项目配置文件application.properties/application.yml,确认server.address参数配置:如果设置为127.0.0.1或者localhost,需改为0.0.0.0,允许应用监听所有网卡的请求
  • 在EC2实例中打开CMD执行netstat -ano | findstr "8085",查看端口监听状态:如果返回的本地地址是127.0.0.1:8085,说明应用仅绑定了本地回环地址,修改配置重启应用即可。

2. 检查Windows Server内置防火墙规则

AWS安全组是云平台层面的访问控制,Windows实例本身的防火墙会单独过滤流量:

  • 打开「Windows Defender防火墙」-「高级设置」-「入站规则」,确认有没有允许8085端口TCP协议入站的规则
  • 无对应规则则新建规则:类型选「端口」→ 协议选TCP、特定本地端口填8085 → 动作选「允许连接」→ 配置文件默认全选 → 命名保存即可
  • 快速验证可以临时关闭Windows Defender防火墙,如果关闭后公网可以访问,即可确定是防火墙规则问题。

3. 复核EC2安全组配置

即使已经添加过规则,也需要排查配置错误的情况:

  • 确认入站规则的类型为自定义TCP,端口范围正确填写8085,源地址为0.0.0.0/0(临时测试用,生产环境建议限制为指定IP段),不要设置为仅本地IP或者实例内网地址
  • 确认当前运行应用的EC2实例,确实关联了修改过规则的安全组,避免错改其他实例的安全组。

4. 排查网络链路配置

  • 首先在你本地的电脑上打开PowerShell执行Test-NetConnection 实例公网IP -Port 8085,如果返回TcpTestSucceeded为False说明端口不通
  • 检查EC2所在子网的路由表:确认有指向互联网网关(IGW)、目的地址为0.0.0.0/0的路由条目,只有公有子网的实例才能直接通过公网IP访问。

5. 排除应用层面限制

  • 检查Spring Boot项目有没有配置全局IP拦截器、IP白名单之类的逻辑,拒绝了非本地IP的访问请求
  • 可以临时修改应用端口为其他未被占用的端口(比如9090),按上面的步骤配置后测试,排除运营商或者云平台层面的端口封禁问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:09:02