HAProxy (High Availability Proxy) är en populär programvara som kan användas som omvänd proxy och lastbalanserare. Den kan enkelt installeras på Ubuntu 22.04 med bara några få steg.

Vad är HAProxy?

HAProxy är en kraftfull öppen käll kodsprogramvara som kan användas som lastbalanserare eller omvänd proxy. Den används ofta för att distribuera incidentdatatrafik till flera servrar och därmed förbättra tillgängligheten och prestandan hos webbapplikationer. HAProxy är en beprövad lösning, särskilt i mycket skalbara och felsäkra arkitekturer.

Tack vare sin höga effektivitet kan HAProxy bearbeta tusentals förfrågningar per sekund utan att belasta systemresurserna. Programvaran stöder olika metoder för lastbalansering, såsom round robin, minst antal anslutningar och käll-IP-hashing. Den erbjuder även funktioner såsom SSL-avslutning, hälsokontroller och sticky sessions för att optimalt kontrollera datatrafiken. En annan styrka är möjligheten att vidarebefordra trafik baserat på specifika regler eller header-information.

HAProxy används i många stora företag och molnmiljöer. Konfigurationen utförs via en enkel men flexibel konfigurationsfil som möjliggör detaljerad anpassning efter dina behov.

Hur man installerar HAProxy på Ubuntu 22.04 steg för steg

Steg 1: Uppdatera systemet

Innan du påbörjar installationen bör du se till att din Linux-distribution är uppdaterad. Detta säkerställer att alla paket är aktuella och att eventuella säkerhetsproblem har eliminerats. För att göra detta öppnar du en terminal och kör följande kommandon:

sudo apt update && sudo apt upgrade -y
bash

Denna kommandosekvens uppdaterar först paketlistan för att fastställa de senaste versionerna av den installerade programvaran. Alla befintliga paket uppdateras sedan till de senaste tillgängliga versionerna. Parametern -y säkerställer att alla uppdateringar bekräftas automatiskt.

Steg 2: Installera HAProxy

När systemet har uppdaterats kan du installera HAProxy med följande kommando:

sudo apt install haproxy -y
bash

Detta kommando hämtar HAProxy från de officiella Ubuntu-paketkällorna och installerar applikationen. Installationen går vanligtvis snabbt eftersom HAProxy är ett lättviktigt program. När installationen är klar kan du kontrollera att HAProxy har installerats korrekt genom att köra följande kommando:

haproxy -v
bash

Utmatningen ska visa den installerade versionen av HAProxy.

Bild: Screenshot of the current HAProxy version in the terminal
After you have executed the command, the currently installed version of HAProxy will be displayed.

Steg 3: Aktivera och starta HAProxy-tjänsten

Efter installationen måste du kontrollera att HAProxy-tjänsten körs. Starta först HAProxy som administratör med följande kommando:

sudo systemctl start haproxy
bash

Använd detta kommando för att kontrollera om tjänsten har startats korrekt:

sudo systemctl status haproxy
bash

Om HAProxy körs bör utdata se ut ungefär så här:

Bild: Screenshot of the current HAProxy status in the terminal
You can see from the ‘active (running)’ status in the terminal output that HAProxy is working without any problems.

För att säkerställa att HAProxy också startar automatiskt efter en omstart, aktivera tjänsten med:

sudo systemctl enable haproxy
bash

Steg 4: Konfigurera HAProxy

HAProxy konfigureras via konfigurationsfilen /etc/haproxy/haproxy.cfg. Innan du gör några ändringar är det bra att skapa en säkerhetskopia av originalfilen:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup
bash
Notis

Genom att kopiera originalfilen säkerställer du att du när som helst kan återgå till ett fungerande tillstånd. På så sätt kan ändringar göras med låg risk.

För att redigera originalfilen öppnar du den med ett textredigeringsprogram efter eget val, till exempel nano eller Vim. I vårt exempel använder vi nano:

sudo nano /etc/haproxy/haproxy.cfg
bash

En enkel konfiguration för lastbalansering kan se ut så här:

frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server web1 192.168.1.10:80 check
	server web2 192.168.1.11:80 check

I exemplet med lastbalanseraren fördelas den inkommande HTTP-trafiken på port 80 till två backend-servrar (”web1” och ”web2”). Lasten fördelas i en round-robin-process så att förfrågningarna vidarebefordras växelvis till servrarna.

Steg 5: Starta om och testa HAProxy

Efter konfigurationsändringen måste HAProxy startas om för att ändringarna ska träda i kraft. Detta görs med följande terminalkommando:

sudo systemctl restart haproxy
bash

Om fel uppstår kan du kontrollera HAProxy-konfigurationsfilen för syntaxfel med hjälp av kommandot nedan:

haproxy -c -f /etc/haproxy/haproxy.cfg
bash

En korrekt konfiguration bekräftas av utdata Configuration file is valid. Du kan nu testa om HAProxy fungerar som önskat genom att ange den offentliga IP-adressen eller domännamnet för din server i en webbläsare.

Gå till huvudmeny