HAProxy:仅在第一个数据到达后才将 TCP 连接推迟到后端

HAProxy:仅在第一个数据到达后才将 TCP 连接推迟到后端

我想要了解 haproxy 2.2 或更高版本是否具有特定配置,允许仅在从客户端传输第一个数据段后才推迟打开与后端服务器的 tcp 连接。

我正在运行 haproxy 来平衡自定义协议上的长寿命 tcp 连接,其中客户端始终首先发言。

但是,有几个传入连接没有发送任何内容,只是处于闲置状态,直到后端节点超时。

我想避免 haproxy 立即打开到后端的 tcp 连接,直到客户端发送至少 1 个字节。

我尝试将该defer-accept选项添加到章节bind内的语句中frontend,但似乎没有任何效果。

我的 haproxy 实例(v.2.2.20)在内核为 4.19.0 的 Debian 10 VM 上运行。

我是否遗漏了其他配置选项?

答案1

我自己正在寻找这个,在配置参考的示例中找到了答案:https://cbonte.github.io/haproxy-dconv/2.0/configuration.html#4-tcp-request%20content

在前端:

tcp-request inspect-delay <whatever makes sense for your protocol>
tcp-request content accept if REQ_CONTENT
tcp-request content reject

相关内容