← Back to blog

Een gids over de mod_proxy-extensie: Apache gebruiken als reverse proxy

Category
Een gids over de mod_proxy-extensie: Apache gebruiken als reverse proxy

Inleiding

Extensies van derden zijn uiterst nuttige toevoegingen. Deze maken uw ervaring met het configureren van en werken met een server, zoals Apache HTTP, veel eenvoudiger en gemakkelijker. In tijden van nood kunt u zelfs enkele van deze modules in Apache gebruiken om een reverse proxy uit te voeren. U kunt een laag uit uw serverconfiguratie verwijderen of u kunt een module gebruiken om de verbindingen om te leiden.

In deze handleiding bespreken we Apache en de verschillende modules die bij het serverplatform horen, zoals mod_proxy. We zullen ook zien hoe u dit kunt gebruiken als een reverse proxy om verbindingen om te leiden naar uw backend-applicatieservers.

Wat is Apache?

Apache is een HTTP-server die zeer vaak wordt gebruikt voor webgerelateerde doeleinden. Maar u kunt het om verschillende redenen en op meerdere platforms gebruiken. U kunt uw Apache-webserver op Ubuntu installeren door onze stapsgewijze handleiding te volgen. Volg daarnaast deze handleiding om te leren hoe u uw Apache-server kunt beveiligen met Let’s Encrypt. U kunt ook bekijken hoe u virtuele Apache-hosts instelt op Ubuntu 20.04.

U kunt de functies en implementatie van Apache verder verkennen met behulp van externe modules. Dit zijn modules van derden die u kunt gebruiken om verschillende taken uit te voeren met betrekking tot verbindingen en configuraties. U kunt bijvoorbeeld de module mod_rewrite gebruiken om op regels gebaseerde URL-herschrijving uit te voeren. Een andere module is mod_proxy. Deze laatste module wordt in de gemeenschap grotendeels onderbenut. Vooral omdat veel mensen niet op de hoogte zijn van de omvang van de functionaliteit en toepassingen ervan. Mod_proxy kan, zoals de naam al doet vermoeden, u helpen een gateway of proxy in te stellen voor backend-servers.

Laten we de mod_proxy in detail verkennen en hoe u deze kunt gebruiken als een reverse proxy.

Mod_proxy: Apache gebruiken als een reverse proxy

Zoals u waarschijnlijk wel kunt raden, is mod_proxy een module. Het is een module in Apache die u kunt gebruiken om verschillende verbindingen tot stand te brengen en om te leiden. U kunt deze ook activeren en configureren zoals elke andere module op uw systeem. Het unieke aan mod_proxy is dat het niet slechts één module is. In feite bestaat het uit een verzameling van verschillende modules die u hieronder vindt. Elk van deze heeft zijn eigen functie. Op deze manier biedt mod_proxy u veel diversiteit in functionaliteit.

Bekijk de volgende mod_proxy-modules:

mod_proxy

Dit is de hoofd-proxymodule. In Apache kunt u deze module gebruiken om verschillende verbindingen te configureren en te beheren. Het kan u ook helpen verbindingen om te leiden.

mod_proxy_http

Zoals de naam al doet vermoeden, houdt deze module zich bezig met de HTTP- en HTTPS-protocollen. U kunt deze module gebruiken om de proxyfuncties van deze protocollen te implementeren.

mod_proxy_ftp

Mod_proxy_ftp werkt wanneer u te maken heeft met het FTP-protocol.

mod_proxy_connect

Deze module is handig wanneer u SSL-tunneling uitvoert.

mod_proxy_ajp

U kunt mod_proxy_ajp gebruiken wanneer u met het AJP-protocol werkt.

mod_proxy_wstunnel

Dit is handig wanneer u werkt met websockets zoals WS en WSS.

mod_proxy_balancer

Als u toegang wilt tot functies voor load balancing en clustering over meerdere servers, dan kunt u deze module gebruiken.

mod_cache

De mod_cache-module is, zoals verwacht, handig voor cachingdoeleinden.

mod_headers

U kunt deze module gebruiken om de headers te beheren die u maakt met het HTTP-protocol.

mod_deflate

Deze module wordt gebruikt voor compressiedoeleinden.

Als u nog meer details over deze modules wilt weten, kunt u de officiële Apache-website bezoeken. De officiële documentatie geeft u ook meer informatie over mod_proxy en Apache zelf.

Hoe installeert u Apache en mod_proxy?

Hier zijn enkele eenvoudig te volgen stappen om Apache en mod_proxy op uw systeem te installeren:

  1. De server voorbereiden

Allereerst moet u ervoor zorgen dat uw cloudserver is voorbereid. Om dit te doen, moet u uw besturingssysteem en bijbehorende software bijwerken naar de nieuwste versies.

Gebruik de volgende opdrachten om uw toepassingen te upgraden:

  1. Het Essentials-pakket installeren

Zodra u uw server heeft voorbereid, moet u deze uitrusten met de essentiële tools. Hiervoor moet u het pakket build-essential installeren. Dit pakket bestaat uit alle basistools die u nodig heeft om dingen vanaf de bron te installeren. U kunt het installeren met dit commando:

  1. Haal de modules en afhankelijkheden op

Ten slotte moet u de modules en afhankelijkheden installeren. Dit kunt u doen door het volgende commando uit te voeren:

Modules activeren: Hoe configureert u Apache met proxyverbindingen?

Voordat u überhaupt toekomt aan het configureren van Apache, moet u uw modules activeren. Deze modules helpen u bij het maken van de nodige configuraties en het uitvoeren van verschillende taken.

Om beginnen moet u controleren welke modules al actief zijn op uw systeem. Niet alleen dat, maar u moet er ook voor zorgen dat alle modules correct zijn geïnstalleerd en kunnen worden ingeschakeld. Het uitvoeren van dit commando toont alle beschikbare modules op uw Apache-server:

a2enmod output

Zoals u kunt zien, toont het antwoord u alle beschikbare modules in de vorm van een uitgebreide lijst. Blader door deze lijst en bepaal welke modules u wilt activeren. Om Apache dit te laten weten, kunt u het volgende commando gebruiken en uw gewenste modules invoeren in plaats van de voorbeelden:

Aan de andere kant kunt u elke module ook afzonderlijk activeren. Om dat te doen, gebruikt u de volgende commando's:

Bepaalde modules zijn waarschijnlijk standaard geactiveerd op uw server. U vraagt zich misschien af hoe u kunt bevestigen dat ze zijn ingeschakeld. Om er zeker van te zijn dat de gewenste module actief is, kunt u proberen deze twee keer te activeren. Dit garandeert dat de module is ingeschakeld.

  1. Standaard configuratie-instellingen wijzigen

Eerst moet u de standaard configuratie-instellingen wijzigen. Om dit te doen, moet u het standaard configuratiebestand openen, namelijk 000-default.conf. Dit bestand bevindt zich in /etc/apache2/sites-enabled. We moeten het zodanig aanpassen dat het de proxyfunctie krijgt.

U begint met het openen van de nano-teksteditor om de standaard virtual host te bewerken. U kunt dit doen door dit commando uit te voeren:

We zullen gezamenlijk naar de mod_virtual host en mod_proxy verwijzen als de proxy virtual host. Nu kunt u de volgende configuratie-instellingen implementeren. U kunt de nodige wijzigingen aanbrengen zoals u dat wilt voor uw systeem en uw vereisten:

U kunt opslaan en afsluiten zodra u op Ctrl + X drukt en bevestigt met Y.

  1. De Load Balancing-functie activeren

Load balancing helpt u de verbindingen op uw proxy effectief te verdelen. Dit is een zeer nuttig idee voor wanneer u meerdere backend-applicatieservers gebruikt in plaats van één enkele. De load balancing-functie verdeelt de verbinding of de 'load'.

Om deze functie in te schakelen, moet u de stappen herhalen die eerder in deze handleiding zijn genoemd. U moet echter de volgende configuratie-instellingen gebruiken bij het instellen van de virtual host:

  1. Reverse proxy-ondersteuning activeren

U moet een virtual host uw reverse proxy laten ondersteunen als u werkt met SSL -verbindingen en -certificaten. Deze secundaire virtual host moet de volgende instellingen hebben. U moet de instructies in de vorige stappen uitvoeren. Het enige wat u hoeft te doen is de configuratieopties te vervangen door de hieronder genoemde opties:

U moet ook de SSL-module inschakelen om de bovenstaande configuratie te laten werken:

  1. Apache herstarten

Alle configuraties zijn voltooid. Ten slotte kunt u uw Apache-server herstarten om de wijzigingen toe te passen. U kunt Apache herstarten door de volgende opdracht uit te voeren:

Conclusie

Voila! U hebt zojuist met succes een reverse proxy-gateway ingesteld in uw Apache-server. Nu zal Apache de inkomende verbindingen omleiden naar uw applicatieservers in de backend.

Het mooie hiervan is dat het configuratieproces weinig moeite kost en vrij eenvoudig is. Nu u de exacte stappen kent om daar te komen, zou u geen enkele moeite moeten hebben om een reverse proxy in Apache in te stellen.

Veel computerplezier!

Akshay Nagpal

Auteur · CloudSigma

Reacties

Nog geen reacties. Wees de eerste.