我们已经在多个 HTTPS 应用程序服务器前面设置了一个 TCP 模式的 HAProxy。到目前为止一切正常,但想询问这些设置。在我的默认部分中,我有以下设置,我已将其注释掉(关闭):
# timeout http-request 10s
# timeout queue 1m
# timeout connect 10s
# timeout client 1m
# timeout server 1m
# timeout http-keep-alive 10s
...
通过关闭这些,是否将它们设置为无穷大?它是否只是选择一些默认值?我很难找出它到底做了什么。
我想暂时关闭这些限制,因此希望将它们评论出来。不过,我很想得到确认,所以非常感谢任何帮助。
这是设置等待完整 HTTP 请求的最大允许时间
如果未设置此参数,客户端超时仍然适用于传入请求的每个块之间。需要在前端设置才能生效,除非前端是TCP模式,这种情况下会使用HTTP后端的超时时间。
有关更多详细信息,请查看HAProxy 配置手册的 超时 http-request 部分
这是为了设置在队列中等待连接槽空闲的最长时间
如果未指定,则使用与后端连接超时(“超时连接”)相同的值,以向后兼容没有“超时队列”参数的旧版本。有关更多详细信息,请查看HAProxy 配置手册的 超时队列部分。
这是设置等待与服务器的连接尝试成功的最长时间
未指定的超时会导致无限超时,不建议这样做。这种用法被接受并且有效,但在启动期间会报告警告,因为如果系统的超时也未配置,它可能会导致系统中的失败会话累积。有关更多详细信息,请查看HAProxy 配置手册的 超时连接部分。
为了
timeout client <timeout> or timeout clitimeout <timeout> (deprecated)
在客户端设置最长不活动时间。timeout server <timeout> or timeout srvtimeout <timeout>
(已弃用)在服务器端设置最长不活动时间。未指定的超时会导致无限超时,不建议这样做。这种用法被接受并且有效,但在启动期间会报告警告,因为如果系统的超时也未配置,它可能会导致系统中的过期会话累积。
这是设置等待新 HTTP 请求出现的最大允许时间
如果没有设置这个参数,“http-request”超时,如果两者都没有设置,“超时客户端”仍然适用于较低级别。需要在前端设置才能生效,除非前端是TCP模式,这种情况下会使用HTTP后端的超时时间。