In a setup like this where HAProxy1 LBs over N other HAProxies (servers in
a backend of HAProxy1):

HAProxy1
    | --> HAProxy2 -> 1 real backend server
    | --> HAProxy3 -> 1 real backend server

Is there a way to trigger a retry by HAProxy to use HAProxy3 if it tried
HAProxy2 and just its real backend server was down?    i.e. HAProxy1
successfully connected to HAProxy2 but HAProxy2 returned a 503 because its
one backend server was down.

The goal is that the initial call into HAProxy1 succeeds by using the
HAProxy3, even though it tried HAProxy2.

I looked at the 'observe' server option but my read of the config manual is
that it won't trigger a retry (just a failed health check).   I also
realize that, in general, retrying on a 503 has idempotency issues so using
a custom 5xx code might be a better signal to indicate no-work was done.

Thanks

Reply via email to