// blog

Cum instalezi și configurezi HAProxy pe un VPS Linux: ghid complet pentru load balancing

August 29, 2026 · by Alex M.

Cum instalezi și configurezi HAProxy pe un VPS Linux: ghid complet pentru load balancing

Dacă ai o aplicație web care primește tot mai mult trafic, un singur server poate deveni rapid un punct vulnerabil. HAProxy (High Availability Proxy) este una dintre cele mai populare soluții open-source pentru load balancing și proxy TCP/HTTP, folosită de companii precum GitHub, Twitter sau Stack Overflow.

În acest ghid vei învăța cum să instalezi și să configurezi HAProxy pe un VPS NVMe cu Ubuntu 22.04 LTS, pas cu pas, de la zero până la un setup funcțional.


Ce este HAProxy și de ce ai nevoie de el?

HAProxy este un load balancer și proxy de nivel 4 (TCP) și nivel 7 (HTTP) care distribuie traficul de intrare către mai multe servere backend. Beneficiile principale:

  • Disponibilitate înaltă (High Availability): dacă un server backend cade, HAProxy redirecționează automat traficul către celelalte noduri.
  • Scalabilitate orizontală: poți adăuga oricând servere noi în pool fără downtime.
  • Monitorizare în timp real: dashboard web integrat cu statistici detaliate.
  • Flexibilitate: algoritmi multipli de balansare (Round Robin, Least Connections, IP Hash etc.).

Dacă rulezi o aplicație WordPress pe mai multe instanțe sau un API Node.js distribuit pe un VPS SSD, HAProxy este soluția ideală.


Arhitectura setup-ului

În acest ghid vom configura:

  • 1 server HAProxy (Frontend): primește traficul de la utilizatori
  • 2 servere backend (app1 și app2): servesc efectiv aplicația

Poți extinde oricând schema cu mai multe noduri backend.

Utilizatori → HAProxy (192.168.1.10) → app1 (192.168.1.11:80)
                                       → app2 (192.168.1.12:80)

Pasul 1: Actualizează sistemul și instalează HAProxy

Conectează-te la serverul tău prin SSH și rulează:

sudo apt update && sudo apt upgrade -y
sudo apt install haproxy -y

Verifică versiunea instalată:

haproxy -v

Ar trebui să vezi ceva similar cu HAProxy version 2.4.x. Serviciul pornește automat după instalare. Poți verifica starea sa:

sudo systemctl status haproxy

Pasul 2: Configurează serverele backend

Pe fiecare server backend (app1 și app2), instalează Nginx pentru a simula o aplicație web:

sudo apt install nginx -y

Pentru a diferenția răspunsurile, modifică pagina implicită pe fiecare server:

Pe app1:

echo "<h1>Backend: app1</h1>" | sudo tee /var/www/html/index.html

Pe app2:

echo "<h1>Backend: app2</h1>" | sudo tee /var/www/html/index.html

Asigură-te că Nginx rulează pe ambele servere:

sudo systemctl enable nginx && sudo systemctl start nginx

Pasul 3: Configurează HAProxy

Fișierul principal de configurare se află la /etc/haproxy/haproxy.cfg. Înainte de orice modificare, fă un backup:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

Acum editează fișierul:

sudo nano /etc/haproxy/haproxy.cfg

Înlocuiește conținutul cu configurația de mai jos:

global
    log /dev/log local0
    log /dev/log local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s
    user haproxy
    group haproxy
    daemon
    maxconn 50000

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5s
    timeout client  30s
    timeout server  30s
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 503 /etc/haproxy/errors/503.http

# Secțiunea frontend — primește traficul
frontend http_front
    bind *:80
    default_backend http_back

# Secțiunea backend — serverele aplicației
backend http_back
    balance roundrobin
    option httpchk GET /
    server app1 192.168.1.11:80 check
    server app2 192.168.1.12:80 check

# Dashboard statistici HAProxy
listen stats
    bind *:8080
    stats enable
    stats uri /haproxy?stats
    stats refresh 10s
    stats auth admin:parolaSecreta123

Notă: Înlocuiește 192.168.1.11 și 192.168.1.12 cu IP-urile reale ale serverelor tale backend, iar parolaSecreta123 cu o parolă puternică.


Pasul 4: Validează și repornește HAProxy

Înainte de a aplica configurația, verifică sintaxa:

sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Dacă primești Configuration file is valid, totul este în ordine. Repornește serviciul:

sudo systemctl restart haproxy
sudo systemctl enable haproxy

Pasul 5: Configurează firewall-ul

Deschide porturile necesare:

sudo ufw allow 80/tcp
sudo ufw allow 8080/tcp
sudo ufw enable

Dacă ai nevoie de ajutor cu regulile UFW, consultă blogul CLIQHOST unde găsești ghiduri detaliate despre securizarea VPS-ului.


Pasul 6: Testează load balancing-ul

Accesează IP-ul serverului HAProxy din browser sau din terminal:

curl http://192.168.1.10

Execută comanda de mai multe ori — ar trebui să alternezi între răspunsurile Backend: app1 și Backend: app2. Acesta este algoritmul Round Robin în acțiune.

Accesează și dashboard-ul de statistici:

http://192.168.1.10:8080/haproxy?stats

Vei vedea starea fiecărui server backend, numărul de conexiuni active, rata de request-uri și multe altele.


Algoritmii de balansare disponibili în HAProxy

HAProxy suportă mai mulți algoritmi. Poți schimba linia balance din secțiunea backend:

Algoritm Descriere
roundrobin Distribuie cereri pe rând, ciclic
leastconn Trimite la serverul cu cele mai puține conexiuni active
source IP Hash — același utilizator ajunge mereu la același server
uri Bazat pe URI — util pentru caching
random Aleatoriu, cu factor de distribuție configurabil

Pentru aplicații cu sesiuni de utilizator (ex. coșuri de cumpărături), source sau sticky sessions sunt recomandate.


Configurare HTTPS cu HAProxy și SSL Termination

Pentru producție, traficul trebuie protejat prin HTTPS. HAProxy poate gestiona terminarea SSL direct. Ai nevoie de un certificat SSL — îl poți obține prin serviciul SSL de la CLIQHOST.

Combină certificatul și cheia privată într-un singur fișier .pem:

cat domeniulmeu.crt domeniulmeu.key > /etc/haproxy/certs/domeniulmeu.pem

Actualizează secțiunea frontend:

frontend https_front
    bind *:443 ssl crt /etc/haproxy/certs/domeniulmeu.pem
    redirect scheme https if !{ ssl_fc }
    default_backend http_back

Adaugă și o redirecționare HTTP → HTTPS:

frontend http_front
    bind *:80
    redirect scheme https code 301

Health Checks — detectarea automată a erorilor

Directiva check adăugată la fiecare server backend activează verificările de sănătate. HAProxy va trimite periodic un request HTTP GET / și va scoate automat din rotație orice server care nu răspunde.

Poți personaliza comportamentul:

server app1 192.168.1.11:80 check inter 3s rise 2 fall 3
  • inter 3s — verifică la fiecare 3 secunde
  • rise 2 — consideră serverul sănătos după 2 răspunsuri pozitive consecutive
  • fall 3 — scoate din rotație după 3 eșecuri consecutive

HAProxy pe servere dedicate

Dacă aplicația ta a depășit capacitatea unui singur VPS, ia în considerare un server dedicat managed pe care CLIQHOST îl administrează pentru tine, sau un server dedicat unmanaged dacă preferi control total. HAProxy se scalează excelent pe infrastructuri cu trafic de ordinul milioanelor de request-uri pe zi.


Greșeli frecvente și cum le eviți

  1. Nu ai backup la fișierul de configurare — întotdeauna rulează cp haproxy.cfg haproxy.cfg.bak înainte de modificări.
  2. Portul 8080 al dashboard-ului este expus public fără autentificare — folosește întotdeauna stats auth.
  3. Timeout-uri prea mici — pentru aplicații lente, crește timeout server la 60s sau mai mult.
  4. Nu activezi option httpchk — fără health checks, HAProxy va trimite trafic și la servere căzute.

Concluzie

HAProxy este un instrument puternic și matur care transformă infrastructura ta dintr-un singur punct de eșec într-un sistem redundant și scalabil. Cu configurația din acest ghid ai un load balancer funcțional, cu health checks automate și dashboard de monitorizare.

Dacă vrei să implementezi HAProxy fără bătăi de cap, administrarea serverelor CLIQHOST include configurarea și monitorizarea infrastructurii tale. Sau poți porni direct cu un VPS NVMe performant și să urmezi acest ghid. Ai întrebări? Contactează echipa noastră — suntem aici să te ajutăm.

SHARE
// ce spun clienții

Ce spun clienții noștri

Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău