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

Kubernetes集群中Nginx容器因未知原因接收SIGQUIT信号崩溃

根因分析

该容器持续崩溃的核心原因是存活探针(livenessProbe)协议配置错误,触发Kubernetes主动终止容器运行:

  • Pod配置中的livenessProbe指定使用HTTPS协议访问容器80端口,但你的Nginx容器仅配置了HTTP 80端口监听,没有部署SSL证书、也未开启HTTPS服务。
  • 容器日志中3条\x16\x03\x01开头的400错误请求,就是K8s存活探针发起的HTTPS握手请求,Nginx无法识别这类请求,返回400状态码,被探针判定为探测失败。
  • 连续3次探测失败达到设定的failureThreshold阈值后,K8s会向容器发送SIGQUIT信号终止进程,触发容器重启,反复触发后最终进入CrashLoopBackOff状态。
修复方案

方案一(推荐,适配当前Nginx配置)

直接修改Pod/Deployment的livenessProbe配置,将探测协议从HTTPS改为HTTP即可,修改后的探针配置参考:

livenessProbe:
  failureThreshold: 3
  httpGet:
    path: /
    port: 80
    scheme: HTTP
  initialDelaySeconds: 3
  periodSeconds: 3
  successThreshold: 1
  timeoutSeconds: 1

方案二(适配需要HTTPS服务的场景)

如果业务需要Nginx对外提供HTTPS服务,需要同步完成两处配置:

  • 修改Nginx配置,添加443端口监听,挂载合法的SSL证书
  • 调整存活探针配置:要么将端口改为443保留HTTPS探测,要么保留80端口用HTTP做探测

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:54:02