Da documentação:
maxconn <number>
Sets the maximum per-process number of concurrent connections to <number>. It
is equivalent to the command-line argument "-n". Proxies will stop accepting
connections when this limit is reached. The "ulimit-n" parameter is
automatically adjusted according to this value. See also "ulimit-n". Note:
the "select" poller cannot reliably use more than 1024 file descriptors on
some platforms. If your platform only supports select and reports "select
FAILED" on startup, you need to reduce maxconn until it works (slightly
below 500 in general).
Pelo que entendi, quando o cliente tenta se conectar ao proxy e o proxy tem maxconn
conexões, ele simplesmente não enviará o pacote SYN + ACK para o cliente, de modo que o cliente finalmente atingirá o tempo limite.
Eu quero fazer haproxy enviar RST para o cliente se maxconn
for alcançado. É possível?
Isso não é controlado pelo haproxy. Acho que isso apenas define o backlog do soquete de escuta. O material de "espera" é feito pelo sistema operacional. Se você quiser enviar redefinição, provavelmente deve fazê-lo no firewall do sistema operacional, usando o rastreador de conexão ou algo assim (no Linux, limite o número máximo de conexões a uma porta específica usando iptables).