HAProxy: Difference between revisions
No edit summary |
|||
| Line 57: | Line 57: | ||
* timeout connect/client/server – limite de timp pentru conexiuni. | * 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 |  * Dacă un frontend sau backend are propriul mode (ex: mode tcp), acesta suprascrie automat valoarea din defaults | ||
==== Frontend HTTP (port 80) ==== | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
--> frontend http_in | |||
    bind *:80 | |||
    mode http | |||
    option forwardfor | |||
    default_backend http_webserver | |||
</code> | |||
* *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 ===== | |||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | |||
--> 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 | |||
</code> | |||
* 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. | |||
Revision as of 01:21, 15 July 2026
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.