HAProxy je výkonný open-source software, který umožňuje vyvažování zatížení a konfiguraci proxy pro aplikace založené na protokolech TCP a HTTP. Lze jej nainstalovat na Debian 12 v několika málo krocích a často se používá ve vysoce dostupných systémech k efektivnímu rozložení požadavků, čímž se zlepšuje stabilita a výkon aplikací.

Co je HAProxy?

HAProxy (High Availability Proxy) je vysoce výkonný a spolehlivý load balancer a reverzní proxy, který se používá k distribuci síťového a aplikačního provozu. Aplikace podporuje jak vrstvu 4 (transportní vrstva, např. TCP), tak vrstvu 7 (aplikační vrstva, např. HTTP) modelu OSI, pokud jde o vyvažování zátěže. Díky nízké latenci, vysoké účinnosti a komplexním možnostem konfigurace je HAProxy vhodný pro společnosti všech velikostí.

Společnosti a vývojáři používají HAProxy k vyvažování zátěže mezi více backendovými servery, zachycování výpadků serverů a zlepšování celkového výkonu aplikací. Tento software hraje ústřední roli v mnoha webových infrastrukturách, zejména v aplikacích s vysokou dostupností a škálovatelností. Mezi jeho hlavní funkce patří ukončování SSL/TLS, kontroly stavu backendových serverů, omezení rychlosti a mechanismy ochrany proti DDoS útokům.

Jak nainstalovat HAProxy na Debian krok za krokem

Krok 1: Aktualizujte systém

Před instalací HAProxy byste měli aktualizovat svou distribuci Linuxu. Tím zajistíte, že všechny balíčky budou aktuální a instalace proběhne hladce.

Následující příkaz aktualizuje seznamy balíčků a nainstaluje všechny dostupné aktualizace pro Debian 12:

sudo apt update && sudo apt upgrade -y
bash

Krok 2: Nainstalujte HAProxy

Debian 12 zahrnuje HAProxy do svých oficiálních zdrojů balíčků, takže instalace je snadná pomocí vestavěného správce balíčků apt.

sudo apt install haproxy -y
bash

Tento příkaz stáhne a nainstaluje HAProxy se všemi požadovanými závislostmi.

Krok 3: Zkontrolujte verzi HAProxy

Po instalaci byste měli zkontrolovat, zda byl HAProxy nainstalován úspěšně. To můžete provést tak, že zjistíte nainstalovanou verzi HAProxy:

haproxy -v
bash

Výstup by měl vypadat přibližně takto:

Obrázek: 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 se zajistí, že HAProxy byl nainstalován správně.

Krok 4: Povolte HAProxy jako službu

Aby se HAProxy spouštěl automaticky při startu systému a běžel trvale, musí být služba povolena a spuštěna.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

Nakonec lze pomocí následujícího příkazu zkontrolovat, zda služba běží úspěšně:

sudo systemctl status haproxy
bash

Pokud HAProxy běží správně, měl by se zobrazit aktivní (běžící) výstup, který vypadá přibližně takto:

Obrázek: 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í konfigurace HAProxy

Konfigurační soubor HAProxy se nachází v /etc/haproxy/haproxy.cfg. Před provedením jakýchkoli změn je vhodné vytvořit záložní kopii, na kterou se můžete spolehnout v případě chyb:

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

Nyní můžete soubor upravit v editoru podle svého výběru (například Vim nebo nano):

sudo nano /etc/haproxy/haproxy.cfg
bash

Jednoduchá konfigurace HAProxy může vypadat 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

Tato konfigurace rozděluje HTTP požadavky mezi dva webové servery způsobem round-robin. Je rozdělena do několika sekcí. Nejprve je zde globální sekce, která definuje základní nastavení pro HAProxy. Tato sekce například určuje uživatelský účet, pod kterým HAProxy běží, počet povolených souběžných připojení a místo, kde jsou uloženy protokoly. Lze také definovat adresář chroot, aby HAProxy běželo v omezeném prostředí a tím se zvýšila bezpečnost.

Za globálními nastaveními následuje sekce defaults, kde jsou definovány výchozí hodnoty pro všechny následující konfigurace. Tato sekce například určuje, že HAProxy pracuje v režimu HTTP a je povoleno protokolování HTTP. Jsou zde také definovány různé časové limity.

Ostatní části konfiguračního souboru, například frontend a backend, řídí samotný datový provoz. Část frontend určuje, na kterých portech HAProxy přijímá požadavky a jak jsou tyto požadavky předávány. Část backend pak definuje servery, na které je provoz předáván. Zde lze použít algoritmy pro vyrovnávání zátěže.

Po úpravách je třeba soubor uložit a restartovat HAProxy:

sudo systemctl restart haproxy
bash

Instalace HAProxy na Debian 12 je nyní dokončena. Konfiguraci lze kdykoli upravit změnou konfiguračního souboru.

Přejít do hlavního menu