Hur man konfigurerar HAProxy som en omvänd proxy

Hur Man Konfigurerar Haproxy Som En Omvand Proxy



När du har en webbserver kan ett sätt att vidarebefordra klientförfrågningar och serverns svar hjälpa till med att distribuera trafiken och förbättra säkerheten. En omvänd proxy, som HAProxy, fungerar som en mellanhand mellan din webbapplikation och klientenheter när den är konfigurerad. På så sätt tar den emot klientförfrågningar och vidarebefordrar dem till lämplig webbserver samtidigt som den tar emot serverns svar och sänder dem till klienterna. Att konfigurera HAProxy på din serversida för att fungera som din omvänd proxy är en enkel process. Det här inlägget har detaljerat de steg som du bör ta.

Varför använda en omvänd proxy?

Innan vi diskuterar stegen för att konfigurera HAProxy som en omvänd proxy, låt oss snabbt belysa varför en omvänd proxy fungerar till din fördel. Följande är fördelarna som du får med att använda HAProxy som en omvänd proxy:

  1. Lastbalansering - Din webbserver kan vid ett tillfälle ha många klientförfrågningar som, om de inte hanteras väl, kan överbelasta den vilket orsakar ett oväntat driftstopp. Att konfigurera en omvänd proxy säkerställer dock att trafiken distribueras över backend-servrarna för att säkerställa att ingen server blir överbelastad med förfrågningar.
  2. Brandvägg och säkerhet – Den omvända proxyn ansluter klientenheterna till webbservern. Genom att göra det minskar du risken att direkt exponera våra backend-servrar för internet. På så sätt kan en skadlig trafik enkelt filtreras och blockeras innan den skadar servrarna.
  3. Bättre cachelagring – Med en omvänd proxy kommer du att märka den totala prestandaförbättringen eftersom laddningstiden kommer att minskas genom att cachelagra det statiska innehållet. Dessutom kommer du att uppnå en bättre användarupplevelse.
  4. SSL/TLS-uppsägning – Med en omvänd proxy blir kryptering och dekryptering av SSL/TLS-anslutningarna sömlös, och dina backend-servrar behöver inte axla denna uppgift, vilket minskar belastningen.

Hur man konfigurerar HAProxy som en omvänd proxy

Efter att ha förklarat varför en omvänd proxy som HAProxy är viktig, låt oss ge konfigurationsstegen att följa.







Steg 1: Installera HAProxy



Du har förmodligen redan HAProxy installerat på ditt system. Om så är fallet, hoppa över det här steget. Men för någon som är ny på detta, kör följande kommando för att installera HAProxy:



$ sudo apt installera haproxy

Vi har det redan installerat i vårt fall.





Steg 2: Redigera HAProxy-konfigurationsfilen



HAProxy har en konfigurationsfil som du måste komma åt och redigera för att konfigurera som din omvänd proxy. Börja med att öppna konfigurationsfilen med en textredigerare.

$ sudo nano /etc/haproxy/haproxy.cfg

När den öppnas, notera att den har grundläggande konfigurationer för standard- och globalsektionerna. Vi måste sedan skapa ytterligare två sektioner: frontend och backend. Frontend definierar gränssnitten som ska ta emot klientförfrågningar, medan backend specificerar servrarna som ska hantera trafiken.

I det här exemplet konfigurerar vi frontend för att acceptera klientförfrågningar från port 80 och 81. Vi skapar sedan en regel för att distribuera trafiken så att anslutningarna från port 80 dirigeras till en specifik server medan de från port 81 går till en annan server. Vår frontend-sektion är som visas i följande:

Eftersom vi skapade två backend-servrar, backend2 och linux_backend, måste vi skapa backend-sektionerna för båda servrarna. Vi anger vilken IP som ska distribuera trafiken till vår 'server1' och 'server2' för var och en.

När konfigurationsfilen har redigerats, spara den och avsluta filen. Observera att det finns många sätt att konfigurera HAProxy beroende på dina behov. I vårt fall skapar vi webbservrarna med den angivna IP-adressen för att dirigera vår trafik. Ändra IP-adresserna så att de matchar dina webbservrar och vilken port du vill lyssna på.

Steg 3: Verifiera giltigheten

Med HAProxy finns det ett kommando som låter dig verifiera om din konfigurationsfil är giltig. Kör följande kommando och se vilken utdata du får:

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

Om du får en liknande utdata bekräftar den att din konfigurationsfil är giltig. Annars kommer det att leda till fel.

Steg 4: Testa den omvända proxyn

Genom att använda ett kommando som 'curl', kan du skicka en trafik till din webbserver och se hur den svarar. I vårt fall använder vi Python3 för att skapa webbservrarna.

Att köra 'curl'-kommandot bekräftar att vår webbserver lyssnar på den angivna porten och att HAProxy har distribuerat trafiken till den angivna servern baserat på vår konfigurationsfil.

Du kan också komma åt din webbserver i en webbläsare och bekräfta att den omvända proxyn fungerar.

Eftersom vi har två webbservrar som kan användas beroende på porten som används av klientenheterna, låt oss binda en annan webbserver till en annan port och se vad som händer.

Följande utdata visar att HAProxy skickade vår trafik till den andra backend-servern efter att ha upptäckt att klientförfrågan skickades via port 81, vilket bekräftar att trafikdistributionen fungerar som förväntat.

Det är hur man konfigurerar HAProxy som en omvänd proxy.

Slutsats

HAProxy är ett utmärkt val för en omvänd proxy för din webbserver. Att konfigurera det är enkelt. Ange bara vilken port som ska lyssna på klientförfrågningar och vilka regler som ska användas för lastbalanseringen. Lägg sedan till backend-servrarna att använda och du kommer att ha din omvänd proxy igång. Det här inlägget delade stegen att följa och visade ett exempel för att säkerställa att du blir bekväm med HAProxy.