HA-Proxy出现SD--标记无状态码且未命中Spring Boot接口的日志含义是什么?
HAProxy 异常日志含义解析
给出的异常日志如下:
Nov 4 11:56:31 localhost haproxy[24972]: 112.134.131.29:17817 [04/Nov/2021:11:56:31.862] myservice k8-sit-masters/k8-master-2 0/0/0/-1/0 -1 0 - - SD-- 2/2/0/0/0 0/0 "POST /path/to/my/url HTTP/1.1"
核心异常字段解读
- 时间统计段
0/0/0/-1/0:五个数值依次为「客户端请求建立耗时/HAProxy队列等待耗时/和后端建立连接耗时/后端响应耗时/总请求耗时」,其中后端响应耗时为-1,代表HAProxy在拿到后端返回的完整响应之前,连接就已经中断。 - HTTP状态码
-1:代表本次请求没有完成完整的HTTP请求响应流程,HAProxy没有获取到后端返回的合法HTTP状态码,所以日志没有记录正常的状态码。 - 会话状态标识
SD--:- 第一位
S表示HAProxy正在主动关闭和后端服务器的TCP连接 - 第二位
D表示连接断开时,请求正处于等待后端返回响应的阶段 - 后两位
--无额外异常标记
- 第一位
- 日志已经记录请求被转发到
k8-sit-masters/k8-master-2节点,说明请求已经过HAProxy转发,还没到达Spring Boot应用的Controller层就被中断,所以不会触发Controller的方法执行。
常见触发原因
- 后端节点的网络策略、防火墙拦截了HAProxy的转发请求,或者Spring Boot应用对应的端口未开放、进程异常退出,导致连接被主动复位
- HAProxy配置的后端响应超时阈值过短,应用还没完成处理就被HAProxy主动断开连接
- 请求体大小超出了HAProxy或者后端服务配置的最大请求限制,连接被提前截断
内容的提问来源于stack exchange,提问作者someone
相关产品推荐
相关产品推荐

