HAProxy är en kraftfull öppen källkodsprogramvara som möjliggör lastbalansering och proxykonfiguration för TCP- och HTTP-baserade applikationer. Den kan installeras på Debian 12 med bara några få steg och används ofta i högtillgängliga system för att effektivt distribuera förfrågningar, vilket förbättrar applikationens stabilitet och prestanda.

Vad är HAProxy?

HAProxy (High Availability Proxy) är en högpresterande och pålitlig lastbalanserare och omvänd proxy som används för att distribuera nätverks- och applikationstrafik. Applikationen stöder både lager 4 (transportlager, t.ex. TCP) och lager 7 (applikationslager, t.ex. HTTP) i OSI-modellen när det gäller lastbalansering. Tack vare sin låga latens, höga effektivitet och omfattande konfigurationsalternativ är HAProxy lämplig för företag av alla storlekar.

Företag och utvecklare använder HAProxy för att balansera belastningen mellan flera backend-servrar, avlyssna serveravbrott och förbättra applikationernas totala prestanda. Programvaran spelar en central roll i många webbinfrastrukturer, särskilt i applikationer med hög tillgänglighet och skalbarhet. Dess huvudsakliga funktioner inkluderar SSL/TLS-terminering, hälsokontroller av backend-servrar, hastighetsbegränsning och DDoS-skyddsmekanismer.

Hur man installerar 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 laddar ner och installerar HAProxy med alla nödvändiga beroenden.

Steg 3: Kontrollera HAProxy-versionen

Efter installationen bör du kontrollera om HAProxy har installerats korrekt. Du kan göra detta genom att hämta den installerade versionen av HAProxy:

haproxy -v
bash

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

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

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

Steg 4: Aktivera HAProxy som en tjänst

För att HAProxy ska starta 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 följande kommando användas för att kontrollera om tjänsten körs korrekt:

sudo systemctl status haproxy
bash

Om HAProxy fungerar 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

HAProxy-konfigurationsfilen 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 om något går fel:

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

Nu kan du redigera filen med ett redigeringsprogram efter eget val (till exempel 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

Denna konfiguration fördelar HTTP-förfrågningar mellan två webbservrar enligt round-robin-principen. Den är uppdelad i flera sektioner. Först finns den globala sektionen, som definierar grundinställningarna för HAProxy. Denna sektion anger till exempel vilket användarkonto HAProxy körs under, antalet samtidiga anslutningar som tillåts och var loggarna 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 avsnitt defaults, där standardvärden för alla efterföljande konfigurationer definieras. I detta avsnitt anges till exempel att HAProxy ska köras i HTTP-läge och att HTTP-loggning ska vara aktiverad. Olika tidsgränser definieras också.

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

Efter redigeringen måste du spara filen 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