EKS集群同Ingress部署前后端后验证及502错误排查求助
EKS部署前后端后ALB 502问题排查方案
一、确认后端部署状态与位置
- 检查后端Pod运行状态:
重点确认Pod的kubectl get pods -n <你的命名空间>STATUS为Running,READY状态与容器数匹配(比如单容器Pod应为1/1)。 - 排查Pod启动异常:
查看日志中是否有启动报错、端口监听异常(Spring Boot默认监听8080端口)。kubectl logs <后端Pod名称> -n <你的命名空间> - 验证后端Service配置:
确认kubectl get service <后端Service名称> -n <你的命名空间>ClusterIP已分配,PORT(S)中的targetPort与Pod暴露的端口一致。 - 测试集群内部连通性:
可在前端Pod或临时调试Pod中执行:
确认能正常获取后端响应,排除集群内部网络问题。curl http://<后端Service名称>.<命名空间>.svc.cluster.local:<Service端口>/<后端测试接口路径>
二、排查Ingress与ALB配置问题
请提供你的ingress.yaml内容,同时可自行检查以下点:
- 确认Ingress规则中关联的后端Service名称、端口与实际配置一致,
backend.service.name和backend.service.port不能填错。 - 登录AWS控制台查看ALB对应的目标组:检查目标组内的后端Pod健康状态,若为
unhealthy,需确认健康检查路径是否正确(Spring Boot可启用/actuator/health作为检查路径,确保项目已引入spring-boot-starter-actuator依赖)。 - 若前后端共用同一个Ingress,需确认路径前缀配置(比如前端
/、后端/api),并检查pathType是否合理(通常用Prefix匹配路径前缀),避免路径转发冲突。
三、后端ALB与UI集成说明
- 可以单独为后端配置独立ALB(通过新增Ingress),但生产环境更推荐共用同一个ALB,通过路径规则区分前后端,减少资源开销与管理复杂度。
- 若使用独立后端ALB,需修改前端代码中的API请求地址为后端ALB域名,同时解决跨域问题:可在Spring Boot中配置CORS过滤器,或直接在ALB上配置跨域规则。
内容的提问来源于stack exchange,提问作者Prajul Aaditya
相关产品推荐
相关产品推荐

