Die Konfiguration von HAproxy ist etwas komplex, aber sehr flexibel. Hast Du Dir die Anleitung von TheHellsite angesehen? Das deckt die meisten Anwendungen gut ab.
P.S.: Wie bei vielen Open-Source Tools habe ich bei HAproxy auch feststellen müssen, dass ein 2-3 Jahre altes Tutorial, das ich bei Google finde. überhaupt nicht mehr anwendbar ist, weil die Hälfte der Optionen inzwischen deprecated sind.
Die Map Files könnten also wahrscheinlich mein Problem mit den vielen Conditions für denselben Zweck lösen.Allerdings, so wie ich es verstanden habe, lassen sich damit Hostnamen nur direkt auf ein Backend mappen, nicht aber auf einen Backend Pool, wodurch kein Failover möglich wäre.
Und leider behandelt es keine HTTPS Frontends, nur TCP. Ich werde aufgrund der Filtermöglichkeiten eher HTTPS verwenden.
Er definiert drei Frontends, das erste ist tatsächlich TCP, dient aber nur dazu, auf ein Backend zu verweisen, das SNI macht und dann auf die beiden anderen HTTP(S) Frontends verzweigt. Dabei macht er auch gleich noch HSTS-Redirection, verwaltet Zertifikate, macht SSL-Offloading u.v.a.m.
Aber: TheHellSite's Ansatz hat den Vorteil, dass es die HTTP->HTTPS Redirection am Rande mit erledigt, außer, wo es nicht gebraucht wird oder sogar schädlich wäre, z.B. für die ACME-Verifikation unter /.well-known..., denn die funktioniert eben nur per HTTP.
Ich will jetzt hier nicht die ganzen Vor- oder potentiellen Nachteile des Tutorials durchkauen. Daher mein Rat: Vergiss, was Du zu wissen glaubst und probier die Anleitung einfach aus. Du wirst überrascht sein.