我想要了解 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