HAProxy är en kraftfull programvara med öppen källkod som möjliggör lastbalansering och proxykonfiguration för TCP- och HTTP-baserade applikationer. Det kan installeras på Debian 12 med bara några få steg och används ofta i system med hög tillgänglighet för att effektivt distribuera förfrågningar och därmed förbättra applikationens stabilitet och prestanda.

Vad är HAProxy?

HAProxy (High Availability Proxy) är en högpresterande och tillförlitlig lastbalanserare och omvänd proxy som används för att distribuera nätverks- och applikationstrafik. Applikationen stöder både Layer 4 (Transportlager, t.ex. TCP) och Layer 7 (Applikationsskikt, t.ex. HTTP) på OSI-modell när det gäller lastbalansering. Tack vare låg latens, hög effektivitet och omfattande konfigurationsmöjligheter lämpar sig HAProxy för företag av alla storlekar.

Företag och utvecklare använder HAProxy för att balansera belastningen på flera backend-servrar, fånga upp serveravbrott och förbättra applikationens prestanda. Programvaran spelar en central roll i många webbinfrastrukturer, särskilt i högtillgängliga och skalbara applikationer. Bland de viktigaste funktionerna finns SSL/TLS-terminering, hälsokontroller av backendservrar, hastighetsbegränsning och skyddsmekanismer för DDoS.

Så här installerar du HAProxy på Debian steg för steg

Steg 1: Uppdatera systemet

Innan du installerar HAProxy bör du uppdatera din Linux-distribution. Detta säkerställer att alla paket är uppdaterade och att installationen går smidigt.

Följande kommando uppdaterar paketlistorna och installerar alla tillgängliga uppdateringar för Debian 12:

sudo apt update && sudo apt upgrade -y
bash

Steg 2: Installera HAProxy

Debian 12 inkluderar HAProxy i sina officiella paketkällor, så installationen är enkel med hjälp av den inbyggda pakethanteraren apt.

sudo apt install haproxy -y
bash

Detta kommando hämtar och installerar HAProxy med alla nödvändiga beroenden.

Steg 3: Kontrollera HAProxy-versionen

Efter installationen bör du kontrollera om HAProxy installerades framgångsrikt. Du kan göra detta genom att hämta den installerade versionen av HAProxy:

haproxy -v
bash

Utmatningen bör se ut ungefär så här:

Bild: Skärmdump av den aktuella HAProxy-versionen i terminalen
När du har kört kommandot visas den aktuella installerade versionen av HAProxy i din terminal.

Detta säkerställer att HAProxy har installerats korrekt.

Steg 4: Aktivera HAProxy som en tjänst

För att HAProxy ska kunna startas automatiskt vid systemstart och köras permanent måste tjänsten aktiveras och startas.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

Slutligen kan du använda följande kommando för att kontrollera om tjänsten körs korrekt:

sudo systemctl status haproxy
bash

Om HAProxy körs korrekt bör du se en aktiv (körande) utdata som ser ut ungefär så här:

Bild: 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)’.

Steg 5: Grundläggande konfiguration av HAProxy

Konfigurationsfilen för HAProxy finns på /etc/haproxy/haproxy.cfg. Innan du gör några ändringar är det lämpligt att skapa en säkerhetskopia som du kan använda vid eventuella fel:

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

Nu kan du redigera filen med en valfri editor (t.ex. Vim eller nano):

sudo nano /etc/haproxy/haproxy.cfg
bash

En enkel HAProxy-konfiguration kan se ut så här:

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

Den här konfigurationen fördelar HTTP-förfrågningar mellan två webbservrar i ett round-robin-förfarande. Den är indelad i flera avsnitt. Det första är det globala avsnittet, som definierar grundläggande inställningar för HAProxy. I det här avsnittet anges t.ex. det användarkonto som HAProxy körs under, antalet samtidiga anslutningar som tillåts och var loggar lagras. En chroot-katalog kan också definieras för att köra HAProxy i en begränsad miljö och därmed öka säkerheten.

Efter de globala inställningarna följer avsnittet defaults, där standardvärden för alla efterföljande konfigurationer definieras. I det här avsnittet anges t.ex. att HAProxy körs i HTTP-läge och att HTTP-loggning är aktiverad. Olika timeouts definieras också.

De andra avsnitten i konfigurationsfilen, t.ex. frontend och backend, styr den faktiska datatrafiken. I avsnittet Frontend anges vilka portar som HAProxy accepterar förfrågningar på och hur de vidarebefordras. Avsnittet backend definierar sedan de servrar som trafiken vidarebefordras till. Här kan algoritmer för lastbalansering användas.

När du har redigerat filen måste du spara den och starta om HAProxy:

sudo systemctl restart haproxy
bash

Installationen av HAProxy på Debian 12 är nu klar. Konfigurationen kan justeras när som helst genom att ändra konfigurationsfilen.

Gå till huvudmeny