Le 07/07/2020 à 23:02, Christopher Faulet a écrit :
Le 07/07/2020 à 15:16, Michael Wimmesberger a écrit :
Hi,

I might have found a potentially critical bug in haproxy. It occurs when
haproxy is retrying to dispatch a request to a server. If haproxy fails
to dispatch a request to a server that is either up or has no health
checks enabled it dispatches the request to a random server on any
backend in any mode (tcp or http) as long as they are in the up state
(via tcp-connect or httpchk health checks). In addition haproxy logs the
correct server although it dispatches the request to a wrong server.


Hi Michael,

Thanks for the reproducer and the detailed description. I'm able to reproduce
the bug thanks to it. I attached a patch to address it. I will see with Willy
tomorrow morning if it is the good way to fix it. But it should do the trick.


Hi,

I finally pushed this fix in the 2.0. Note the same bug affected the HTTP proxy mode (using http_proxy option). In this case, the connection retries is now disabled (on the 2.0 only) because the destination address is definitely lost. It was the easiest way to work around the bug without backporting a bunch of sensitive patches from the 2.1.

Thanks again Michael. You're bug report was really helpful.

--
Christopher Faulet

Reply via email to