HAProxy este un software open-source puternic care permite echilibrarea încărcării și configurarea proxy pentru aplicații bazate pe TCP și HTTP. Poate fi instalat pe Debian 12 în doar câțiva pași și este adesea utilizat în sisteme cu disponibilitate ridicată pentru a distribui eficient cererile, îmbunătățind astfel stabilitatea și performanța aplicațiilor.

Ce este HAProxy?

HAProxy (High Availability Proxy) este un echilibrator de sarcină și un proxy invers de înaltă performanță și fiabilitate, utilizat pentru distribuirea traficului de rețea și a aplicațiilor. Aplicația acceptă atât Layer 4 (Transport Layer, de exemplu TCP), cât și Layer 7 (Application Layer, de exemplu HTTP) din modelul OSI în ceea ce privește echilibrarea sarcinii. Datorită latenței reduse, eficienței ridicate și opțiunilor de configurare cuprinzătoare, HAProxy este potrivit pentru companii de toate dimensiunile.

Companiile și dezvoltatorii utilizează HAProxy pentru a echilibra încărcarea pe mai multe servere backend, pentru a intercepta întreruperile serverului și pentru a îmbunătăți performanța generală a aplicației. Software-ul joacă un rol central în multe infrastructuri web, în special în aplicații cu disponibilitate ridicată și scalabile. Principalele sale caracteristici includ terminarea SSL/TLS, verificarea stării serverului backend, limitarea ratei și mecanisme de protecție DDoS.

Cum se instalează HAProxy pe Debian pas cu pas

Pasul 1: Actualizați sistemul

Înainte de a instala HAProxy, trebuie să actualizați distribuția Linux. Astfel, vă asigurați că toate pachetele sunt la zi și că instalarea se desfășoară fără probleme.

Următoarea comandă actualizează listele de pachete și instalează toate actualizările disponibile pentru Debian 12:

sudo apt update && sudo apt upgrade -y
bash

Pasul 2: Instalați HAProxy

Debian 12 include HAProxy în sursele sale oficiale de pachete, astfel încât instalarea este ușoară folosind managerul de pachete încorporat apt.

sudo apt install haproxy -y
bash

Această comandă descarcă și instalează HAProxy cu toate dependențele necesare.

Pasul 3: Verificați versiunea HAProxy

După instalare, trebuie să verificați dacă HAProxy a fost instalat cu succes. Puteți face acest lucru recuperând versiunea instalată a HAProxy:

haproxy -v
bash

Rezultatul ar trebui să arate cam așa:

Imagine: Screenshot of the current HAProxy version in the terminal
After you run the command, the currently installed version of HAProxy will be displayed in your terminal.

Acest lucru garantează că HAProxy a fost instalat corect.

Pasul 4: Activați HAProxy ca serviciu

Pentru ca HAProxy să pornească automat la pornirea sistemului și să funcționeze permanent, serviciul trebuie să fie activat și pornit.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

În cele din urmă, pentru a verifica dacă serviciul funcționează corect, se poate utiliza următoarea comandă:

sudo systemctl status haproxy
bash

Dacă HAProxy funcționează corect, ar trebui să vedeți o ieșire activă (în execuție) care arată aproximativ astfel:

Imagine: Screenshot of the current HAProxy status in the terminal
You can see in the terminal output that HAProxy is now working without problems from the status ‘active (running)’.

Pasul 5: Configurația de bază a HAProxy

Fișierul de configurare HAProxy se află în /etc/haproxy/haproxy.cfg. Înainte de a efectua orice modificare, este recomandabil să creați o copie de rezervă pe care să o puteți utiliza în caz de erori:

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

Acum puteți edita fișierul cu un editor la alegere (cum ar fi Vim sau nano):

sudo nano /etc/haproxy/haproxy.cfg
bash

O configurație simplă HAProxy ar putea arăta astfel:

global
	log /dev/log local0
	log /dev/log local1 notice
	chroot /var/lib/haproxy
	stats socket /run/haproxy/admin.sock mode 660 level admin
	stats timeout 30s
	user haproxy
	group haproxy
	daemon
defaults
	log global
	option httplog
	option dontlognull
	timeout connect 5000ms
	timeout client 50000ms
	timeout server 50000ms
frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server server1 192.168.1.10:80 check
	server server2 192.168.1.11:80 check
txt

Această configurație distribuie cererile HTTP între două servere web într-un mod rotativ. Este împărțită în mai multe secțiuni. În primul rând, există secțiunea globală, care definește setările de bază pentru HAProxy. De exemplu, această secțiune specifică contul de utilizator sub care rulează HAProxy, numărul de conexiuni simultane permise și locul în care sunt stocate jurnalele. De asemenea, poate fi definit un director chroot pentru a rula HAProxy într-un mediu restricționat și a crește astfel securitatea.

După setările globale urmează secțiunea defaults, unde sunt definite valorile implicite pentru toate configurațiile ulterioare. De exemplu, această secțiune specifică faptul că HAProxy funcționează în modul HTTP și că înregistrarea HTTP este activată. De asemenea, sunt definite diverse timpuri de expirare.

Celelalte secțiuni ale fișierului de configurare, cum ar fi frontend și backend, controlează traficul real de date. Secțiunea frontend specifică porturile pe care HAProxy acceptă cererile și modul în care acestea sunt redirecționate. Secțiunea backend definește apoi serverele către care este redirecționat traficul. Aici pot fi utilizați algoritmi de echilibrare a încărcării.

După editare, trebuie să salvați fișierul și să reporniți HAProxy:

sudo systemctl restart haproxy
bash

Instalarea HAProxy pe Debian 12 este acum completă. Configurația poate fi ajustată în orice moment prin modificarea fișierului de configurare.

Mergi la meniul principal