Sim, o HAProxy pode se equilibrar em qualquer cabeçalho de solicitação enviado pelo navegador. De o manual :
hdr(name) The HTTP header <name> will be looked up in each HTTP request.
Just as with the equivalent ACL 'hdr()' function, the header
name in parenthesis is not case sensitive. If the header is
absent or if it does not contain any value, the round-robin
algorithm is applied instead.
No caso de autenticação básica, cada solicitação será autenticada com um cabeçalho Authorization
, que assume a forma de Authorization: Basic <base64(username+password)>
. Então, em sua configuração HAProxy, o seguinte deve funcionar:
...
balance roundrobin
balance hdr(Authorization)
...