HAProxy je výkonný open-source softvér, ktorý umožňuje vyvažovanie zaťaženia a konfiguráciu proxy pre aplikácie založené na protokoloch TCP a HTTP. Dá sa nainštalovať na Debian 12 len v niekoľkých krokoch a často sa používa vo vysoko dostupných systémoch na efektívne rozdeľovanie požiadaviek, čím sa zlepšuje stabilita a výkon aplikácií.

Čo je HAProxy?

HAProxy (High Availability Proxy) je vysoko výkonný a spoľahlivý vyrovnávač zaťaženia a reverzný proxy server, ktorý sa používa na distribúciu sieťového a aplikačného prevádzky. Aplikácia podporuje vrstvu 4 (transportná vrstva, napr. TCP) aj vrstvu 7 (aplikačná vrstva, napr. HTTP) modelu OSI, pokiaľ ide o vyrovnávanie zaťaženia. Vďaka nízkej latencii, vysokej účinnosti a komplexným možnostiam konfigurácie je HAProxy vhodný pre spoločnosti všetkých veľkostí.

Spoločnosti a vývojári používajú HAProxy na vyrovnávanie zaťaženia medzi viacerými backendovými servermi, zachytávanie výpadkov serverov a zlepšovanie celkového výkonu aplikácií. Tento softvér zohráva kľúčovú úlohu v mnohých webových infraštruktúrach, najmä vo vysoko dostupných a škálovateľných aplikáciách. Medzi jeho hlavné funkcie patrí ukončenie SSL/TLS, kontrola stavu backendových serverov, obmedzovanie rýchlosti a mechanizmy ochrany proti DDoS.

Ako nainštalovať HAProxy na Debian krok za krokom

Krok 1: Aktualizujte systém

Pred inštaláciou HAProxy by ste mali aktualizovať svoju distribúciu Linuxu. Tým sa zabezpečí, že všetky balíky sú aktuálne a inštalácia prebehne hladko.

Nasledujúci príkaz aktualizuje zoznamy balíkov a nainštaluje všetky dostupné aktualizácie pre Debian 12:

sudo apt update && sudo apt upgrade -y
bash

Krok 2: Inštalácia HAProxy

Debian 12 obsahuje HAProxy vo svojich oficiálnych balíkoch, takže inštalácia je jednoduchá pomocou vstavaného správcu balíkov apt.

sudo apt install haproxy -y
bash

Tento príkaz stiahne a nainštaluje HAProxy so všetkými potrebnými závislosťami.

Krok 3: Skontrolujte verziu HAProxy

Po inštalácii by ste mali skontrolovať, či bol HAProxy nainštalovaný úspešne. Môžete to urobiť tak, že zistíte nainštalovanú verziu HAProxy:

haproxy -v
bash

Výstup by mal vyzerať približne takto:

Obrázok: 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.

Tým sa zabezpečí, že HAProxy bol nainštalovaný správne.

Krok 4: Aktivujte HAProxy ako službu

Aby sa HAProxy spúšťal automaticky pri štarte systému a bežal nepretržite, musí byť táto služba povolená a spustená.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

Nakoniec, aby ste skontrolovali, či služba beží úspešne, môžete použiť nasledujúci príkaz:

sudo systemctl status haproxy
bash

Ak HAProxy funguje správne, mal by sa zobraziť aktívny (bežiaci) výstup, ktorý vyzerá približne takto:

Obrázok: 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)’.

Krok 5: Základná konfigurácia HAProxy

Konfiguračný súbor HAProxy sa nachádza v /etc/haproxy/haproxy.cfg. Pred vykonaním akýchkoľvek zmien je vhodné vytvoriť záložnú kópiu, na ktorú sa môžete spoľahnúť v prípade chýb:

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

Teraz môžete súbor upraviť pomocou editora podľa vlastného výberu (napríklad Vim alebo nano):

sudo nano /etc/haproxy/haproxy.cfg
bash

Jednoduchá konfigurácia HAProxy môže vyzerať takto:

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

Táto konfigurácia distribuuje HTTP požiadavky medzi dva webové servery spôsobom round-robin. Je rozdelená do niekoľkých sekcií. Najprv je tu globálna sekcia, ktorá definuje základné nastavenia pre HAProxy. Táto sekcia napríklad špecifikuje používateľský účet, pod ktorým beží HAProxy, počet povolených súbežných pripojení a miesto, kde sa ukladajú protokoly. Je možné tiež definovať adresár chroot, aby HAProxy bežal v obmedzenom prostredí, čím sa zvýši bezpečnosť.

Po globálnych nastaveniach nasleduje sekcia defaults, kde sú definované predvolené hodnoty pre všetky následné konfigurácie. Táto sekcia napríklad špecifikuje, že HAProxy pracuje v režime HTTP a je povolené protokolovanie HTTP. Sú tu tiež definované rôzne časové limity.

Ostatné časti konfiguračného súboru, ako napríklad frontend a backend, riadia skutočný dátový prevádzku. Časť frontend určuje, na ktorých portoch HAProxy prijíma požiadavky a ako sa ďalej posielajú. Časť backend potom definuje servery, na ktoré sa prevádzka posiela. Tu sa dajú použiť algoritmy vyrovnávania zaťaženia.

Po úprave je potrebné súbor uložiť a reštartovať HAProxy:

sudo systemctl restart haproxy
bash

Inštalácia HAProxy na Debian 12 je teraz dokončená. Konfiguráciu je možné kedykoľvek upraviť zmenou konfiguračného súboru.

Prejsť na hlavné menu