HAProxy 默认配置为 tcp 模式

HAProxy 默认配置为 tcp 模式

我们在多个 HTTPS 应用服务器前面设置了一个 TCP 模式的 HAProxy。到目前为止一切运行良好,但想问一下这些设置。在我的默认部分中,我有以下设置,我已将其注释掉(关闭):

# timeout http-request 10s
# timeout queue        1m
# timeout connect      10s
# timeout client       1m
# timeout server       1m
# timeout http-keep-alive 10s
...

通过关闭这些,它会将它们设置为无穷大吗?它只是选择一些默认值吗?我无法找出它到底做了什么。

我现在想关闭这些限制,所以希望注释掉它们能起作用。不过,我还是希望得到确认,所以任何帮助我都会非常感激。

答案1

timeout http-request <timeout>

这是设置等待完整 HTTP 请求的最大允许时间

如果未设置此参数,客户端超时仍适用于传入请求的每个块之间。它应在前端设置才能生效,除非前端处于 TCP 模式,在这种情况下将使用 HTTP 后端的超时。

欲了解更多详情,请查看HAProxy 配置手册 超时 http 请求部分

timeout queue <timeout>

这是设置在队列中等待连接槽空闲的最大时间

如果未指定,则使用与后端的连接超时(“timeout connect”)相同的值,以便向后兼容没有“timeoutqueue”参数的旧版本。有关更多详细信息,请查看HAProxy 配置手册 超时队列部分。

timeout connect <timeout> or timeout contimeout <timeout> (deprecated)

这是设置等待服务器连接尝试成功的最大时间

未指定的超时会导致无限超时,这是不推荐的。这种用法是可以接受的,并且有效,但在启动期间会报告警告,因为如果系统的超时也未配置,它可能会导致系统中积累失败的会话。有关更多详细信息,请查看HAProxy 配置手册 超时连接部分。

为了

未指定的超时会导致无限超时,这是不推荐的。这种用法是可以接受的,并且有效,但在启动期间会报告警告,因为如果未配置系统的超时,它可能会导致系统中累积过期的会话。

timeout http-keep-alive <timeout>

这是设置等待新 HTTP 请求出现的最大允许时间

如果未设置此参数,则适用“http-request”超时,如果两者都未设置,则“timeout client”仍适用于较低级别。它应该在前端设置才能生效,除非前端处于 TCP 模式,在这种情况下 HTTP后端超时将会被使用。

相关内容