如何通过mod_proxy_hcheck在Apache中实现基于内容匹配的探测改写?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1017个文字,预计阅读时间需要5分钟。
以下是对原文的简化
使用 必须 ProxyHCExpr,否则使用 mod_proxy_hcheck + 状态码,仅查看状态码,基本不会解析响应内容。
为什么默认健康检查不识别 JSON 响应里的 status 字段
Apache 的 mod_proxy_hcheck 默认逻辑极其简单:只要 HTTP 状态码是 2xx 或 3xx,就认为健康。它完全忽略响应体(body)和大部分响应头。后端返回 200 OK + {"alive":false},模块照样标记为 UP。
常见错误现象:/healthz 接口始终返回 200,但业务已挂;balancer-manager 页面显示所有节点 OK,流量照常转发,用户持续收到 502。
本文共计1017个文字,预计阅读时间需要5分钟。
以下是对原文的简化
使用 必须 ProxyHCExpr,否则使用 mod_proxy_hcheck + 状态码,仅查看状态码,基本不会解析响应内容。
为什么默认健康检查不识别 JSON 响应里的 status 字段
Apache 的 mod_proxy_hcheck 默认逻辑极其简单:只要 HTTP 状态码是 2xx 或 3xx,就认为健康。它完全忽略响应体(body)和大部分响应头。后端返回 200 OK + {"alive":false},模块照样标记为 UP。
常见错误现象:/healthz 接口始终返回 200,但业务已挂;balancer-manager 页面显示所有节点 OK,流量照常转发,用户持续收到 502。

