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

部署在AWS Elastic Beanstalk的Spring Boot应用出现502错误求助

Spring Boot部署AWS Elastic Beanstalk出现502 Bad Gateway问题排查

核心问题排查方向

1. 数据库配置错误导致应用启动失败

你的application.properties里数据库配置存在明显问题:

  • spring.datasource.url格式错误:PostgreSQL的JDBC URL标准格式应为jdbc:postgresql://<数据库主机地址>:<端口>/<数据库名>,你当前的jdbc:postgresql:letscook缺少主机和端口信息,无法建立连接。
  • spring.datasource.username和spring.datasource.password为空,无法完成数据库身份验证。

应用启动时会因数据库连接失败而崩溃,虽然Elastic Beanstalk显示环境状态正常,但实际应用进程并未正常运行,Nginx反向代理无法转发请求,从而返回502错误。

解决办法:

  • 补充完整的数据库URL,例如如果使用AWS RDS PostgreSQL,URL应为jdbc:postgresql://your-rds-endpoint:5432/letscook
  • 填入正确的数据库用户名和密码
  • 确保Elastic Beanstalk环境的安全组允许访问RDS实例的5432端口

2. 端口不匹配问题

Elastic Beanstalk的默认反向代理(Nginx)会将请求转发到5000端口,但Spring Boot默认监听8080端口,这会导致代理无法连接到应用。

解决办法:

  • 在application.properties中添加server.port=5000,将应用端口改为5000
  • 或者通过Elastic Beanstalk的环境变量配置SERVER_PORT=5000

3. 查看应用启动日志确认错误

即便环境状态显示正常,也可以通过以下方式查看应用启动日志:

  • 登录Elastic Beanstalk控制台,进入对应环境,点击左侧菜单的日志 -> 请求日志 -> 最近的日志
  • 或者通过SSH连接到EC2实例,查看/var/log/web.stdout.log文件,该文件记录了Spring Boot应用的启动日志,能直接看到启动失败的具体原因

验证步骤

  1. 修正数据库配置和端口配置后,重新打包部署应用
  2. 部署完成后,查看应用日志确认启动成功
  3. 再次访问域名测试是否恢复正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:05:05