Własny serwer Debian/Ubuntu – cz.22: HAProxy
Ostatnia aktualizacja: 16 października 2025, 12:39
W kolejnym tutorialu z cyklu Własny Serwer postanowiłem zainstalować i przetestować HAProxy.
HAProxy – akronim od High Availability Proxy, to popularny open-source’owy moduł równoważenia obciążenia i serwer proxy dla aplikacji opartych na protokołach TCP i HTTP. Jest szczególnie przydatny w przypadku witryn o dużym ruchu i często jest domyślnie wdrażany na platformach chmurowych.
Do celów tej instalacji użyłem HAProxy 3.0.11, który zainstalowałem na serwerze działającym na Debianie 12.
Instalacja
apt update
apt install haproxy
Konfiguracja
Podstawowa konfiguracja jest dość prosta i zawarta jest w jednym pliku tekstowym.
W pierwszej kolejności należy utworzyć kopię zapasową oryginalnej konfiguracji:
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
Następnie można zapisać własną konfigurację, np.:
nano /etc/haproxy/haproxy.cfg
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
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back
backend http_back
balance roundrobin
option httpchk
server server1 192.168.0.11:80 check
server server2 192.168.0.12:80 check
Gdzie:
– 192.168.1.11 : adres IP pierwszego serwera backend Apache
– 192.168.1.12 : adres IP drugiego serwera backend Apache
– balance_roundrobin : Równomiernie rozdziela żądania między serwery
– option_httpchk : Włącza sprawdzanie kondycji protokołu HTTP
Po zapisaniu nowej konfiguracji zrestartuj haproxy:
systemctl restart haproxy
i sprawdź czy działa poprawnie:
systemctl status haproxy
Więcej informacji o HAProxy uzyskasz wpisując:
man haproxy
haproxy --help
W kolejnym tutorialu skonfigurujemy Nginx jako odwrotne proxy dla Apache.

