我们在 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。