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

AWS Elastic Beanstalk部署Spring Boot报502 Bad Gateway如何解决

502 Bad Gateway问题解决指南

根因定位

你提供的Nginx错误日志明确显示connect() failed (111: Connection refused),上游地址为127.0.0.1:5000,说明Nginx反向代理无法连接到本地运行的Spring Boot应用,问题核心是Spring Boot应用没有正常在5000端口启动监听,和你之前调整的RDS、EC2安全组规则无关,安全组控制的是外部访问流量,不影响实例本地的进程间通信。

排查与解决步骤

  • 排查应用启动失败原因
    登录对应EC2实例,查看Elastic Beanstalk默认的Java应用启动日志/var/log/web.stdout.log,排查是否存在启动报错,比如RDS连接失败、依赖缺失、配置文件读取错误、主类找不到等会导致应用启动中断的问题。
  • 确认端口配置生效逻辑
    Spring Boot的server.port配置优先级为:命令行参数 > 操作系统环境变量 > application配置文件 > 默认值。如果你在项目的application.properties或application.yml中硬编码了其他端口,你设置的SERVER_PORT环境变量会被覆盖,优先检查配置文件中的端口是否设置为5000。
  • 验证端口监听状态
    在EC2实例中执行命令ss -tulpn | grep 5000:
    • 无输出说明没有进程监听5000端口,确认应用未正常启动
    • 有非Java进程占用5000端口的话,可将Spring Boot端口修改为其他空闲端口,同步调整Elastic Beanstalk代理的上游转发端口即可
  • 验证应用包完整性
    你可以在EC2实例上手动执行启动命令java -jar 你的应用jar包名称.jar,看是否能正常启动并在5000端口监听,排查是否存在打包时主类未指定、jar包损坏的问题。
  • 补充监听地址配置
    部分Spring Boot版本如果指定了server.address=127.0.0.1之外的绑定地址,也会导致本地代理连接失败,可以在配置文件中添加server.address=0.0.0.0,确保应用监听所有本地地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:54:03