使用 GCP 全局负载均衡器 HTTP 健康检查,是否可以使用 POST 而不是 GET?

使用 GCP 全局负载均衡器 HTTP 健康检查,是否可以使用 POST 而不是 GET?

我们在 Netcool Ominibus Probe 服务器前面的 GCP 中配置了 GLB。这是一个仅接受 POST 事件的 API。当 GLB 上的运行状况检查尝试使用 GET 连接到端口 80/443 上的探测服务器时,API 会返回错误,501因为探测器不知道如何响应 GET。

有没有办法从健康检查中发送 POST 而不是 GET?我们考虑过在 TCP 8080 上启动一个 Apache 实例,但这违背了检查 API 正在监听的端口的目的。

另外,我们在测试时注意到……Linux 的默认 TCP 连接超时似乎为 45 秒。如果您为少于45 秒后,您的实例将最终被CLOSE_WAIT连接淹没。不要这样做。:D

答案1

尝试TCP 或 SSL 健康检查(它适用于非 HTTP(S) 流量),它只会检查端口是否打开。理论上,您可以提供一小段请求字符串来构建静态 HTTP 请求,但这看起来很丑陋且脆弱。

并与后端软件开启增强请求,提供健康API。

相关内容