Hvordan konfigurere HAProxy som en omvendt proxy

Hvordan Konfigurere Haproxy Som En Omvendt Proxy



Når du har en webserver, hjelper det å distribuere trafikken og forbedre sikkerheten å ha en måte å videresende klientforespørslene og serverens svar på. En omvendt proxy, for eksempel HAProxy, fungerer som et mellomledd mellom nettapplikasjonen og klientenhetene når den er konfigurert. På den måten mottar den klientforespørslene og videresender dem til riktig webserver mens den mottar serverens svar og sender dem til klientene. Å konfigurere HAProxy på serversiden til å fungere som din omvendte proxy er en enkel prosess. Dette innlegget har detaljert trinnene du bør ta.

Hvorfor bruke en omvendt proxy?

Før vi diskuterer trinnene for å konfigurere HAProxy som en omvendt proxy, la oss raskt fremheve hvorfor en omvendt proxy fungerer til din fordel. Følgende er fordelene du får ved å bruke HAProxy som en omvendt proxy:

  1. Lastbalansering - Nettserveren din kan på et tidspunkt ha et tilfelle av mange klientforespørsler som, hvis de ikke håndteres godt, kan overbelaste den som forårsaker en uventet nedetid. Konfigurering av en omvendt proxy sikrer imidlertid at trafikken blir distribuert over backend-serverne for å sikre at ingen server blir overbelastet med forespørsler.
  2. Brannmur og sikkerhet – Omvendt proxy kobler klientenhetene til webserveren. Å gjøre det reduserer risikoen for å eksponere backend-serverne våre direkte for internett. På den måten kan en ondsinnet trafikk enkelt filtreres og blokkeres før den skader serverne.
  3. Bedre caching – Med en omvendt proxy vil du legge merke til den generelle ytelsesforbedringen ettersom lastetiden reduseres ved å bufre det statiske innholdet. Dessuten vil du oppnå en bedre brukeropplevelse.
  4. SSL/TLS-oppsigelse – Med en omvendt proxy blir kryptering og dekryptering av SSL/TLS-tilkoblingene sømløs, og backend-serverne dine trenger ikke å påta seg denne oppgaven, noe som reduserer belastningen.

Hvordan konfigurere HAProxy som en omvendt proxy

Etter å ha forklart hvorfor en omvendt proxy som HAProxy er viktig, la oss gi konfigurasjonstrinnene som skal følges.







Trinn 1: Installer HAProxy



Du har sannsynligvis allerede HAProxy installert på systemet ditt. I så fall hopper du over dette trinnet. Men for noen som er ny til dette, kjør følgende kommando for å installere HAProxy:



$ sudo apt installer haproxy

Vi har det allerede installert i vårt tilfelle.





Trinn 2: Rediger HAProxy-konfigurasjonsfilen



HAProxy har en konfigurasjonsfil som du må få tilgang til og redigere for å konfigurere som omvendt proxy. Start med å åpne konfigurasjonsfilen ved hjelp av et tekstredigeringsprogram.

$ sudo nano /etc/haproxy/haproxy.cfg

Når den åpnes, legg merke til at den har grunnleggende konfigurasjoner for standard og globale seksjoner. Vi må da lage to seksjoner til: frontend og backend. Frontend definerer grensesnittene som skal motta klientforespørslene, mens backend spesifiserer serverne som skal håndtere trafikken.

For dette eksemplet konfigurerer vi grensesnittet til å akseptere klientforespørslene fra portene 80 og 81. Vi lager deretter en regel for å distribuere trafikken slik at forbindelsene fra port 80 blir rutet til en bestemt server mens de fra port 81 går til en annen server. Frontend-delen vår er som vist i følgende:

Siden vi opprettet to backend-servere, backend2 og linux_backend, må vi lage backend-seksjonene for begge serverne. Vi spesifiserer hvilken IP som skal distribuere trafikken til vår 'server1' og 'server2' for hver.

Når konfigurasjonsfilen er redigert, lagrer du den og avslutter filen. Merk at det er mange måter å konfigurere HAProxy på avhengig av dine behov. For vårt tilfelle oppretter vi webservere ved å bruke den angitte IP-adressen for å rute trafikken vår. Endre IP-ene for å matche de til webserverne dine og hvilken port du vil lytte på.

Trinn 3: Bekreft gyldigheten

Med HAProxy er det en kommando som lar deg bekrefte om konfigurasjonsfilen din er gyldig. Kjør følgende kommando og se hvilken utgang du får:

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

Hvis du får en lignende utgang, bekrefter den at konfigurasjonsfilen din er gyldig. Ellers vil det føre til feil.

Trinn 4: Test den omvendte proxyen

Ved å bruke en kommando som 'curl', kan du sende en trafikk til webserveren din og se hvordan den reagerer. For vårt tilfelle bruker vi Python3 for å lage webservere.

Å kjøre 'curl'-kommandoen bekrefter at webserveren vår lytter til den angitte porten og at HAProxy har distribuert trafikken til den angitte serveren basert på vår konfigurasjonsfil.

Du kan også få tilgang til nettserveren din i en nettleser og bekrefte at omvendt proxy fungerer.

Siden vi har to webservere som kan brukes avhengig av porten som brukes av klientenhetene, la oss binde en annen webserver til en annen port og se hva som skjer.

Følgende utdata viser at HAProxy sendte trafikken vår til den andre backend-serveren etter å ha oppdaget at klientforespørselen ble sendt via port 81, og bekreftet at trafikkdistribusjonen fungerer som forventet.

Det er hvordan du konfigurerer HAProxy som en omvendt proxy.

Konklusjon

HAProxy er et utmerket valg for en omvendt proxy for webserveren din. Å konfigurere det er enkelt. Spesifiser bare hvilken port som skal lyttes etter klientforespørsler og hvilke regler som skal brukes for lastbalansering. Deretter legger du til backend-serverne som skal brukes, og du vil ha den omvendte proxyen i gang. Dette innlegget delte fremgangsmåten for å følge og demonstrerte et eksempel for å sikre at du blir komfortabel med HAProxy.