BUG/MINOR: rhttp: fix reconnect if timeout connect unset

Active connect on reverse http relies on connect timeout to detect
connection failure. Thus, if this timeout was unset, connection failure
may not be properly detected.

Fix this by fallback on hardcoded value of 1s for connect if timeout is
unset in the configuration. This is considered as a minor bug, as
haproxy advises against running with timeout unset.

This must be backported up to 2.9.
This commit is contained in:
Amaury Denoyelle 2025-04-10 18:05:55 +02:00
parent 3ebdd3ae50
commit 2b8da5f9ab

View File

@ -288,7 +288,7 @@ struct task *rhttp_process(struct task *task, void *ctx, unsigned int state)
l->rx.rhttp.pend_conn = conn;
/* On success task will be woken up by H2 mux after reversal. */
l->rx.rhttp.task->expire = conn ?
l->rx.rhttp.task->expire = conn && tick_isset(srv->proxy->timeout.connect) ?
tick_add_ifset(now_ms, srv->proxy->timeout.connect) :
MS_TO_TICKS(now_ms + 1000);
}