502 kubernetes network_error ai_generated true

502 网关错误(Ingress/Nginx)— 上游连接过早关闭

502 Bad Gateway (Ingress/Nginx) — upstream prematurely closed connection

ID: kubernetes/ingress-nginx-502-bad-gateway-upstream

其他格式: JSON · Markdown 中文 · English
80%修复率
88%置信度
1证据数
2023-06-20首次发现

版本兼容性

版本状态引入弃用备注
ingress-nginx 1.7.0 active
Kubernetes 1.27 active
nginx 1.23 active

根因分析

后端服务(上游)无响应或过早关闭连接,通常由于负载过高或超时配置错误。

English

The backend service (upstream) is not responding or closes connections prematurely, often due to high load or misconfigured timeouts.

generic

官方文档

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-timeouts

解决方案

  1. 检查上游服务健康状态:`kubectl get pods -l app=<service>` 和 `kubectl logs <pod>`。如果负载过高,增加资源或启用水平 Pod 自动伸缩。
  2. 添加 Ingress 注释以调整超时:`nginx.ingress.kubernetes.io/proxy-read-timeout: '600'` 和 `nginx.ingress.kubernetes.io/proxy-send-timeout: '600'`。

无效尝试

常见但无效的做法:

  1. 60% 失败

    Only temporarily clears the issue; the upstream problem remains.

  2. 70% 失败

    Does not address the upstream service's inability to handle connections.

  3. 50% 失败

    May mask the issue but can cause resource exhaustion if upstream is truly broken.