HAProxy (High Avai­la­bi­li­ty Proxy) is een veel­ge­bruik­te software die kan worden ingezet als reverse proxy en load balancer. Het kan in slechts enkele stappen eenvoudig worden ge­ïn­stal­leerd op Ubuntu 22.04.

Wat is HAProxy?

HAProxy is krachtige open-source software die kan worden ingezet als load balancer of reverse proxy. Het wordt vaak gebruikt om het da­ta­ver­keer over meerdere servers te verdelen en zo de be­schik­baar­heid en pres­ta­ties van we­bap­pli­ca­ties te ver­be­te­ren. HAProxy is een beproefde oplossing, met name in zeer schaal­ba­re en sto­rings­vei­li­ge ar­chi­tec­tu­ren.

Dankzij zijn hoge ef­fi­ci­ën­tie kan HAProxy duizenden verzoeken per seconde verwerken zonder de sys­teem­bron­nen zwaar te belasten. De software on­der­steunt diverse methoden voor load balancing, zoals round robin, least con­nec­ti­on en source IP hashing. Daarnaast biedt het functies zoals SSL-ter­mi­na­tie, health checks en sticky sessions om het da­ta­ver­keer optimaal te sturen. Een ander sterk punt is de mo­ge­lijk­heid om verkeer door te sturen op basis van spe­ci­fie­ke regels of header-in­for­ma­tie.

HAProxy wordt in veel grote bedrijven en cloudom­ge­vin­gen gebruikt. De con­fi­gu­ra­tie verloopt via een eenvoudig maar flexibel con­fi­gu­ra­tie­be­stand waarmee u het systeem volledig aan uw behoeften kunt aanpassen.

Hoe HAProxy stap voor stap op Ubuntu 22.04 te in­stal­le­ren

Stap 1: Werk het systeem bij

Voordat u met de in­stal­la­tie begint, moet u ervoor zorgen dat uw Linux-dis­tri­bu­tie up-to-date is. Zo weet u zeker dat alle pakketten actueel zijn en dat mogelijke be­vei­li­gings­lek­ken zijn verholpen. Open hiervoor een terminal en voer de volgende op­drach­ten uit:

sudo apt update && sudo apt upgrade -y
bash

Deze reeks op­drach­ten werkt eerst de pak­ket­lijst bij om de nieuwste versies van de ge­ïn­stal­leer­de software te bepalen. Ver­vol­gens worden alle bestaande pakketten bij­ge­werkt naar de nieuwste be­schik­ba­re versies. De parameter -y zorgt ervoor dat alle updates au­to­ma­tisch worden bevestigd.

Stap 2: HAProxy in­stal­le­ren

Nadat het systeem is bij­ge­werkt, kunt u HAProxy met de volgende opdracht in­stal­le­ren:

sudo apt install haproxy -y
bash

Met dit commando wordt HAProxy ge­down­load vanuit de officiële Ubuntu-pak­ket­bron­nen en wordt de ap­pli­ca­tie ge­ïn­stal­leerd. De in­stal­la­tie verloopt doorgaans snel, aangezien HAProxy een licht­ge­wicht programma is. Zodra de in­stal­la­tie is voltooid, kunt u con­tro­le­ren of HAProxy correct is ge­ïn­stal­leerd door het volgende commando uit te voeren:

haproxy -v
bash

De uitvoer moet de ge­ïn­stal­leer­de versie van HAProxy weergeven.

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

Stap 3: Activeer en start de HAProxy-service

Na de in­stal­la­tie moet u con­tro­le­ren of de HAProxy-service actief is. Start HAProxy eerst als beheerder met de volgende opdracht:

sudo systemctl start haproxy
bash

Gebruik deze opdracht om te con­tro­le­ren of de service correct is gestart:

sudo systemctl status haproxy
bash

Als HAProxy actief is, zou de uitvoer er ongeveer zo uit moeten zien:

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

Om ervoor te zorgen dat HAProxy ook au­to­ma­tisch start na een herstart, activeer je de service met:

sudo systemctl enable haproxy
bash

Stap 4: HAProxy con­fi­gu­re­ren

HAProxy wordt ge­con­fi­gu­reerd via het con­fi­gu­ra­tie­be­stand /etc/haproxy/haproxy.cfg. Voordat u wij­zi­gin­gen aanbrengt, is het raadzaam een back-up van het oor­spron­ke­lij­ke bestand te maken:

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

Door het originele bestand te kopiëren, zorgt u ervoor dat u op elk moment weer naar een werkende versie kunt te­rug­ke­ren. Op deze manier kunt u wij­zi­gin­gen door­voe­ren met een minimaal risico.

Om het oor­spron­ke­lij­ke bestand te bewerken, open je het met een tekst­edi­tor naar keuze, zoals nano of Vim. In ons voorbeeld gebruiken we nano:

sudo nano /etc/haproxy/haproxy.cfg
bash

Een een­vou­di­ge con­fi­gu­ra­tie voor load balancing zou er als volgt uit kunnen zien:

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

In het voorbeeld van de load balancer wordt het inkomende HTTP-verkeer op poort 80 verdeeld over twee backend-servers (‘web1’ en ‘web2’). De belasting wordt verdeeld volgens het round-robin-principe, zodat verzoeken af­wis­se­lend naar de servers worden door­ge­stuurd.

Stap 5: Start HAProxy opnieuw op en test het

Na het aanpassen van de con­fi­gu­ra­tie moet HAProxy opnieuw worden opgestart om de wij­zi­gin­gen door te voeren. Dit doe je met de volgende ter­mi­na­l­op­dracht:

sudo systemctl restart haproxy
bash

Als er fouten optreden, kunt u het HAProxy-con­fi­gu­ra­tie­be­stand con­tro­le­ren op syn­tax­fou­ten met behulp van het on­der­staan­de commando:

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

Of de con­fi­gu­ra­tie correct is, wordt bevestigd door uitvoer Configuration file is valid. U kunt nu con­tro­le­ren of HAProxy naar behoren werkt door het openbare IP-adres of de do­mein­naam van uw server in een browser in te voeren.

Ga naar hoofdmenu