Ingress出现诡异的HTTP状态码“000”

背景

    近日,有朋友提到他们的ingress出现了“000”状态码,我一开始是不信的,认为他们可能是打印日志的姿势不对,因为http状态码压根就没有000的说法,于是要求对方上图,没想到,还真有。。。是怎么回事呢?让我们继续往下看。

问题现象

    这是发生在比较低的版本0.25.1的身上,我们先看下定义的日志格式,status引用的是内置变量,没问题

Ingress出现诡异的HTTP状态码“000”

接着我们看看这诡异的“000”状态码截图,真的出现了

Ingress出现诡异的HTTP状态码“000”

擦一擦眼睛,我们看下正常的请求,记录的状态码是200,很肯定状态码的位置是正确的

Ingress出现诡异的HTTP状态码“000”

有图有真相,不信都不行,现在整个人都不好了,这到底怎么回事呢?

找寻真相

   翻了一下源码,有这样一个逻辑,当捕获不到有效状态码时,会返回0,原来如此。

Ingress出现诡异的HTTP状态码“000”

结语

    综上所述,HTTP状态码没有“000”的认知并没有被颠覆,它只是ingress在获取不到具体状态码时的返回值,一般出现这种情况,很可能是通信期间网络出现了问题,需要根据具体情况进行排查,本期分享就到这里,谢谢!

声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Kubernetes

一招完美解决k8s调度不均问题

2024-11-19 15:42:00

Kubernetes

k8s网络插件之calico两种网络模式

2024-11-21 12:24:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索