HAProxy (High Avai­la­bi­li­ty Proxy) är en populär pro­gram­va­ra som kan användas som omvänd proxy och last­ba­lan­se­ra­re. Den kan enkelt in­stal­le­ras på Ubuntu 22.04 med bara några få steg.

Vad är HAProxy?

HAProxy är en kraftfull öppen käll kods­pro­gram­va­ra som kan användas som last­ba­lan­se­ra­re eller omvänd proxy. Den används ofta för att dis­tri­bu­e­ra in­ci­dent­da­ta­tra­fik till flera servrar och därmed förbättra till­gäng­lig­he­ten och pre­stan­dan hos web­bap­pli­ka­tio­ner. HAProxy är en beprövad lösning, särskilt i mycket skalbara och felsäkra ar­ki­tek­tu­rer.

Tack vare sin höga ef­fek­ti­vi­tet kan HAProxy bearbeta tusentals för­fråg­ning­ar per sekund utan att belasta system­re­sur­ser­na. Pro­gram­va­ran stöder olika metoder för last­ba­lan­se­ring, såsom round robin, minst antal an­slut­ning­ar och käll-IP-hashing. Den erbjuder även funk­tio­ner såsom SSL-av­slut­ning, häl­so­kon­trol­ler och sticky sessions för att optimalt kon­trol­le­ra da­ta­tra­fi­ken. En annan styrka är möj­lig­he­ten att vi­da­re­be­ford­ra trafik baserat på specifika regler eller header-in­for­ma­tion.

HAProxy används i många stora företag och moln­mil­jö­er. Kon­fi­gu­ra­tio­nen utförs via en enkel men flexibel kon­fi­gu­ra­tions­fil som möjliggör de­tal­je­rad an­pass­ning efter dina behov.

Hur man in­stal­le­rar HAProxy på Ubuntu 22.04 steg för steg

Steg 1: Uppdatera systemet

Innan du påbörjar in­stal­la­tio­nen bör du se till att din Linux-dis­tri­bu­tion är upp­da­te­rad. Detta sä­ker­stäl­ler att alla paket är aktuella och att even­tu­el­la sä­ker­hets­pro­blem har eli­mi­ne­rats. 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 kom­man­do­se­kvens upp­da­te­rar först pa­ket­lis­tan för att fast­stäl­la de senaste ver­sio­ner­na av den in­stal­le­ra­de pro­gram­va­ran. Alla be­fint­li­ga paket upp­da­te­ras sedan till de senaste till­gäng­li­ga ver­sio­ner­na. Pa­ra­me­tern -y sä­ker­stäl­ler att alla upp­da­te­ring­ar bekräftas au­to­ma­tiskt.

Steg 2: In­stal­le­ra HAProxy

När systemet har upp­da­te­rats kan du in­stal­le­ra HAProxy med följande kommando:

sudo apt install haproxy -y
bash

Detta kommando hämtar HAProxy från de of­fi­ci­el­la Ubuntu-pa­ket­käl­lor­na och in­stal­le­rar ap­pli­ka­tio­nen. In­stal­la­tio­nen går van­ligt­vis snabbt eftersom HAProxy är ett lätt­vik­tigt program. När in­stal­la­tio­nen är klar kan du kon­trol­le­ra att HAProxy har in­stal­le­rats korrekt genom att köra följande kommando:

haproxy -v
bash

Ut­mat­ning­en ska visa den in­stal­le­ra­de 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 in­stal­la­tio­nen måste du kon­trol­le­ra att HAProxy-tjänsten körs. Starta först HAProxy som ad­mi­nist­ra­tör med följande kommando:

sudo systemctl start haproxy
bash

Använd detta kommando för att kon­trol­le­ra 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ä­ker­stäl­la att HAProxy också startar au­to­ma­tiskt efter en omstart, aktivera tjänsten med:

sudo systemctl enable haproxy
bash

Steg 4: Kon­fi­gu­re­ra HAProxy

HAProxy kon­fi­gu­re­ras via kon­fi­gu­ra­tions­fi­len /etc/haproxy/haproxy.cfg. Innan du gör några ändringar är det bra att skapa en sä­ker­hetsko­pia av ori­ginal­fi­len:

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

Genom att kopiera ori­ginal­fi­len sä­ker­stäl­ler du att du när som helst kan återgå till ett fun­ge­ran­de tillstånd. På så sätt kan ändringar göras med låg risk.

För att redigera ori­ginal­fi­len öppnar du den med ett tex­tre­di­ge­rings­pro­gram 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 kon­fi­gu­ra­tion för last­ba­lan­se­ring 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 last­ba­lan­se­ra­ren fördelas den in­kom­man­de HTTP-trafiken på port 80 till två backend-servrar (”web1” och ”web2”). Lasten fördelas i en round-robin-process så att för­fråg­ning­ar­na vi­da­re­be­fordras växelvis till servrarna.

Steg 5: Starta om och testa HAProxy

Efter kon­fi­gu­ra­tions­änd­ring­en måste HAProxy startas om för att änd­ring­ar­na ska träda i kraft. Detta görs med följande ter­mi­nal­kom­man­do:

sudo systemctl restart haproxy
bash

Om fel uppstår kan du kon­trol­le­ra HAProxy-kon­fi­gu­ra­tions­fi­len för syntaxfel med hjälp av kommandot nedan:

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

En korrekt kon­fi­gu­ra­tion bekräftas av utdata Configuration file is valid. Du kan nu testa om HAProxy fungerar som önskat genom att ange den of­fent­li­ga IP-adressen eller do­män­nam­net för din server i en webb­lä­sa­re.

Gå till huvudmeny