HAProxy
HAProxy pe Ubuntu 2X.04 LTS

Instalare HAProxy
La instalare HAProxy activează serviciul systemd.
# apt -y install haproxy
Structura fișierului de configurare
Fișierul principal:
# nano /etc/haproxy/haproxy.cfg
Configurația este împărțită în:
- global – setări pentru procesul HAProxy
- defaults – setări implicite pentru toate secțiunile
- frontend – puncte de intrare pentru trafic
- backend – serverele către care se trimite traficul
Secțiunea global
global
log /dev/log local0
log /dev/log local1 notice
maxconn 4096
user haproxy
group haproxy
daemon
- log /dev/log local0 – trimite logurile către syslog.
- log /dev/log local1 notice – al doilea canal de log, nivel minim notice.
- maxconn 4096 – număr maxim de conexiuni simultane.
- user/group haproxy – rulează cu userul de sistem haproxy.
- daemon – rulează în background.
Secțiunea defaults
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5s
timeout client 30s
timeout server 30s
- log global – folosește setările din secțiunea global.
- mode http – modul implicit pentru frontend/backend.*
- option httplog – loguri detaliate HTTP.
- option dontlognull – nu loghează conexiuni goale.
- timeout connect/client/server – limite de timp pentru conexiuni.
* Dacă un frontend sau backend are propriul mode (ex: mode tcp), acesta suprascrie automat valoarea din defaults
Frontend HTTP (port 80)
frontend http_in
bind *:80
mode http
option forwardfor
default_backend http_webserver
- *bind :80 – ascultă pe portul 80.
- mode http – procesează header-ele HTTP.
- option forwardfor – adaugă X‑Forwarded‑For cu IP-ul real al clientului.
- default_backend http_webserver – trimite traficul către backend-ul HTTP.
Backend HTTP =
backend http_webserver
mode http
balance leastconn
option httpchk GET /
server vm01 192.168.14.11:80 check
server vm02 192.168.14.22:80 check
server vm03 192.168.14.22:80 check
- mode http – backend-ul procesează HTTP.
- balance leastconn – trimite traficul către serverul cu cele mai puține conexiuni active.
- option httpchk GET / – health-check HTTP.
- server vm01/vm02/vm03 – cele trei VM.