You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(active-checks): use HTTP/1.1 for health check probes with auto-fallback
Previously, active health check probes sent HTTP/1.0 requests. Upstream
servers that only support HTTP/1.1 would respond with 426 (Upgrade
Required), which is not in the default healthy/unhealthy status lists,
causing health checks to silently become no-ops for those targets.
Switch the default probe request from HTTP/1.0 to HTTP/1.1 with a
Connection: close header. Add bidirectional version auto-detection in
run_single_check() that automatically negotiates the HTTP version:
- On 505 (HTTP Version Not Supported): retry with the other version
- On 426 (Upgrade Required) while using HTTP/1.0: retry with HTTP/1.1
- On any non-healthy status with no cached version: retry with the
other version to handle non-standard server implementations
The working HTTP version is cached per-target in memory to avoid
repeated retries. The cache self-heals when servers change their
supported HTTP version.
Refactored run_single_check() into focused helpers:
- build_http_headers(): builds and caches serialized header string
- establish_connection(): TCP connect + optional TLS handshake
- probe_http(): sends HTTP request and returns status code
FTI-7389
Signed-off-by: Walker Zhao <walker.zhao@konghq.com>
0 commit comments