Sådan konfigureres HAProxy som en omvendt proxy

Sadan Konfigureres Haproxy Som En Omvendt Proxy



Når du har en webserver, hjælper det at have en måde at videresende klientanmodningerne og serverens svar med at distribuere trafikken og øge sikkerheden. En omvendt proxy, såsom HAProxy, fungerer som mellemled mellem din webapplikation og klientenheder, når den er konfigureret. På den måde modtager den klientanmodningerne og videresender dem til den relevante webserver, mens den modtager serverens svar og sender dem til klienterne. Konfiguration af HAProxy på din serverside til at fungere som din omvendte proxy er en ligetil proces. Dette indlæg har detaljeret de trin, du skal tage.

Hvorfor bruge en omvendt proxy?

Før vi diskuterer trinene til at konfigurere HAProxy som en omvendt proxy, lad os hurtigt fremhæve, hvorfor en omvendt proxy fungerer til din fordel. Følgende er de fordele, du får ved at bruge HAProxy som en omvendt proxy:

  1. Lastbalancering – Din webserver kan på et tidspunkt have et tilfælde af mange klientanmodninger, som, hvis de ikke håndteres godt, kan overbelaste den, hvilket forårsager en uventet nedetid. Konfiguration af en omvendt proxy sikrer dog, at trafikken bliver fordelt på tværs af backend-serverne for at sikre, at ingen server bliver overbelastet med anmodninger.
  2. Firewall og sikkerhed – Den omvendte proxy forbinder klientenhederne til webserveren. Hvis du gør det, reduceres risikoen for direkte at udsætte vores backend-servere for internettet. På den måde kan en ondsindet trafik nemt filtreres og blokeres, før den skader serverne.
  3. Bedre cachelagring – Med en omvendt proxy vil du bemærke den generelle forbedring af ydeevnen, da indlæsningstiden vil blive reduceret ved at cache det statiske indhold. Desuden vil du opnå en bedre brugeroplevelse.
  4. SSL/TLS-opsigelse – Med en omvendt proxy bliver kryptering og dekryptering af SSL/TLS-forbindelserne problemfri, og dine backend-servere behøver ikke påtage sig denne opgave, hvilket reducerer deres belastning.

Sådan konfigureres HAProxy som en omvendt proxy

Efter at have forklaret, hvorfor en omvendt proxy såsom HAProxy er essentiel, lad os give de konfigurationstrin, der skal følges.







Trin 1: Installer HAProxy



Du har sandsynligvis allerede HAProxy installeret på dit system. Hvis ja, spring dette trin over. Men for en, der er ny til dette, skal du køre følgende kommando for at installere HAProxy:



$ sudo apt installere haproxy

Vi har det allerede installeret i vores tilfælde.





Trin 2: Rediger HAProxy-konfigurationsfilen



HAProxy har en konfigurationsfil, som du skal have adgang til og redigere for at konfigurere som din omvendte proxy. Start med at åbne konfigurationsfilen ved hjælp af en teksteditor.

$ sudo nano /etc/haproxy/haproxy.cfg

Når den åbner, skal du bemærke, at den har grundlæggende konfigurationer for standard- og globale sektioner. Vi skal derefter oprette to sektioner mere: frontend og backend. Frontenden definerer de grænseflader, der skal modtage klientanmodningerne, mens backend specificerer de servere, der skal håndtere trafikken.

I dette eksempel konfigurerer vi frontenden til at acceptere klientanmodningerne fra port 80 og 81. Vi opretter derefter en regel for at distribuere trafikken, således at forbindelserne fra port 80 dirigeres til en specifik server, mens dem fra port 81 går til en anden server. Vores frontend-sektion er som vist i følgende:

Da vi oprettede to backend-servere, backend2 og linux_backend, skal vi oprette backend-sektionerne for begge servere. Vi specificerer hvilken IP, der skal distribuere trafikken til vores 'server1' og 'server2' for hver.

Når konfigurationsfilen er redigeret, skal du gemme den og afslutte filen. Bemærk, at der er adskillige måder at konfigurere HAProxy på afhængigt af dine behov. I vores tilfælde opretter vi webserverne ved hjælp af den angivne IP-adresse til at dirigere vores trafik. Skift IP'erne, så de passer til dine webservere, og hvilken port du vil lytte på.

Trin 3: Bekræft gyldigheden

Med HAProxy er der en kommando, der lader dig kontrollere, om din konfigurationsfil er gyldig. Kør følgende kommando og se, hvilket output du får:

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Hvis du får et lignende output, bekræfter det, at din konfigurationsfil er gyldig. Ellers vil det skabe fejl.

Trin 4: Test den omvendte proxy

Ved at bruge en kommando som 'curl', kan du sende en trafik til din webserver og se, hvordan den reagerer. I vores tilfælde bruger vi Python3 til at oprette webserverne.

Kørsel af 'curl'-kommandoen bekræfter, at vores webserver lytter til den angivne port, og at HAProxy har distribueret trafikken til den angivne server baseret på vores konfigurationsfil.

Du kan også få adgang til din webserver i en browser og bekræfte, at den omvendte proxy virker.

Da vi har to webservere, der kan bruges afhængigt af den port, der bruges af klientenhederne, lad os binde en anden webserver til en anden port og se, hvad der sker.

Følgende output viser, at HAProxy sendte vores trafik til den anden backend-server efter at have opdaget, at klientanmodningen blev sendt via port 81, hvilket bekræfter, at trafikfordelingen fungerer som forventet.

Sådan konfigurerer du HAProxy som en omvendt proxy.

Konklusion

HAProxy er et glimrende valg til en omvendt proxy til din webserver. Konfiguration af det er ligetil. Angiv kun, hvilken port der skal lyttes efter klientanmodninger, og hvilke regler der skal bruges til belastningsbalanceringen. Tilføj derefter de backend-servere, der skal bruges, og du vil have din omvendte proxy op at køre. Dette indlæg delte trinene til at følge og demonstrerede et eksempel for at sikre, at du bliver fortrolig med HAProxy.