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

EKS集群配置ingress-nginx NLB处理HTTPS请求时报502错误如何解决

EKS集群Ingress-Nginx返回502 Bad Gateway排查解决步骤
  • 验证后端服务基础连通性
    先确认apigateway服务本身可正常访问:执行kubectl get svc apigateway确认服务端口配置无误,再启动一个临时测试Pod,在Pod内执行curl -kv https://apigateway:1234验证请求是否能正常拿到返回。如果该测试请求失败,先排查apigateway Pod是否处于Running状态、容器监听地址是否为0.0.0.0而非127.0.0.1、同VPC内安全组是否放开了1234端口的访问权限。
  • 修正Ingress注解配置
    你当前使用的Ingress-Nginx v1.0+版本中,nginx.ingress.kubernetes.io/secure-backends注解已废弃,建议先删除该冗余配置。如果你的apigateway服务使用自签名TLS证书,Ingress-Nginx默认会校验证书合法性,校验失败就会返回502,需要新增注解关闭后端证书校验:
    nginx.ingress.kubernetes.io/ssl-verify: "false"
    
    如需开启后端证书校验,可额外配置nginx.ingress.kubernetes.io/backend-certificate-auth注解挂载对应的CA证书。
  • 查看Ingress-Nginx控制器日志定位具体错误
    先执行kubectl get pods -n ingress-nginx获取Ingress-Nginx控制器的Pod名称,再执行kubectl logs -n ingress-nginx <控制器Pod名称>查看日志,搜索502关联的错误记录:
    若出现connect() failed (111: Connection refused)说明后端服务拒绝连接,若出现SSL_do_handshake() failed说明后端TLS握手失败,若出现no route to host说明集群内部网络不通,可根据具体错误进一步排查。
  • 验证NLB链路配置
    确认你使用的TLS终结型NLB的目标组健康检查状态为Healthy,若目标组显示Unhealthy,需检查Ingress-Nginx Pod是否正常运行、EKS节点安全组是否放开了NLB来源的80/443端口访问权限,同时确认域名解析的NLB CNAME地址无配置错误。
  • 核对端口映射规则
    检查apigatewayService的targetPort配置是否和容器实际监听的端口一致,若targetPort配置与容器监听端口不匹配,也会导致请求转发失败返回502。
  • 排查网络访问限制
    确认集群内没有配置网络策略禁止Ingress-Nginx命名空间的Pod访问apigateway服务所在命名空间的1234端口,同时EKS集群的安全组规则允许内部流量互通。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:54:04