Cum să configurați HAProxy ca proxy invers

Cum Sa Configurati Haproxy Ca Proxy Invers



Când aveți un server web, a avea o modalitate de a transmite cererile clientului și răspunsul serverului ajută la distribuirea traficului și sporește securitatea. Un proxy invers, cum ar fi HAProxy, acționează ca un intermediar între aplicația dvs. web și dispozitivele client atunci când este configurat. În acest fel, primește cererile clientului și le transmite către serverul web corespunzător, în timp ce primește răspunsul serverului și le transmite clienților. Configurarea HAProxy pe partea de server pentru a acționa ca proxy invers este un proces simplu. Această postare a detaliat pașii pe care ar trebui să îi urmați.

De ce să folosiți un proxy invers?

Înainte de a discuta pașii pentru a configura HAProxy ca proxy invers, să evidențiem rapid de ce un proxy invers funcționează în avantajul dvs. Următoarele sunt beneficiile pe care le obțineți utilizând HAProxy ca proxy invers:

  1. Echilibrarea sarcinii - Serverul dvs. web poate avea, la un moment dat, un caz de multe solicitări ale clienților care, dacă nu sunt bine gestionate, îl pot supraîncărca, ceea ce provoacă un timp neașteptat. Cu toate acestea, configurarea unui proxy invers asigură că traficul este distribuit pe serverele backend pentru a se asigura că niciun server nu este supraîncărcat cu solicitări.
  2. Firewall și securitate - Proxy-ul invers conectează dispozitivele client la serverul web. Procedând astfel, reduceți riscul de a expune direct serverele noastre backend la internet. În acest fel, un trafic rău intenționat poate fi ușor filtrat și blocat înainte de a deteriora serverele.
  3. O mai bună stocare în cache - Cu un proxy invers, veți observa îmbunătățirea performanței generale, deoarece timpul de încărcare va fi redus prin memorarea în cache a conținutului static. În plus, veți obține o experiență de utilizator mai bună.
  4. Terminare SSL/TLS – Cu un proxy invers, criptarea și decriptarea conexiunilor SSL/TLS devine fără întreruperi, iar serverele dvs. backend nu vor trebui să își asume această sarcină, reducându-le încărcarea.

Cum să configurați HAProxy ca proxy invers

După ce am explicat de ce un proxy invers, cum ar fi HAProxy, este esențial, să oferim pașii de configurare de urmat.





Pasul 1: Instalați HAProxy



Probabil că aveți deja instalat HAProxy pe sistemul dvs. Dacă da, sări peste acest pas. Cu toate acestea, pentru cineva nou în acest domeniu, rulați următoarea comandă pentru a instala HAProxy:



$ sudo apt install haproxy

Îl avem deja instalat în cazul nostru.





Pasul 2: Editați fișierul de configurare HAProxy



HAProxy are un fișier de configurare pe care trebuie să-l accesați și să îl editați pentru a-l configura ca proxy invers. Începeți prin a deschide fișierul de configurare folosind un editor de text.

$ sudo nano /etc/haproxy/haproxy.cfg

Odată ce se deschide, rețineți că are configurații de bază pentru secțiunile implicite și globale. Trebuie să creăm apoi încă două secțiuni: frontend și backend. Interfața definește interfețele care ar trebui să primească cererile clientului, în timp ce backend-ul specifică serverele care vor gestiona traficul.

Pentru acest exemplu, configurăm interfața să accepte cererile clientului de la porturile 80 și 81. Apoi creăm o regulă pentru a distribui traficul astfel încât conexiunile de la portul 80 să fie direcționate către un anumit server, în timp ce cele de la portul 81 să treacă pe un alt server. Server. Secțiunea noastră de front-end este așa cum se arată în următoarele:

Deoarece am creat două servere backend, backend2 și linux_backend, trebuie să creăm secțiunile backend pentru ambele servere. Specificăm ce IP să distribuim traficul către „server1” și „server2” pentru fiecare.

Odată ce fișierul de configurare este editat, salvați-l și părăsiți fișierul. Rețineți că există numeroase moduri de a configura HAProxy în funcție de nevoile dvs. În cazul nostru, creăm serverele web folosind adresa IP specificată pentru a ne direcționa traficul. Schimbați IP-urile pentru a se potrivi cu cele ale serverelor dvs. web și pe ce port doriți să ascultați.

Pasul 3: Verificați validitatea

Cu HAProxy, există o comandă care vă permite să verificați dacă fișierul de configurare este valid. Rulați următoarea comandă și vedeți ce rezultat obțineți:

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

Dacă obțineți o ieșire similară, aceasta confirmă că fișierul dvs. de configurare este valid. În caz contrar, va genera erori.

Pasul 4: Testați proxy-ul invers

Folosind o comandă precum „curl”, puteți trimite un trafic către serverul dvs. web și puteți vedea cum răspunde. Pentru cazul nostru, folosim Python3 pentru a crea serverele web.

Rularea comenzii „curl” confirmă faptul că serverul nostru web ascultă portul specificat și că HAProxy a distribuit traficul către serverul specificat pe baza fișierului nostru de configurare.

De asemenea, puteți accesa serverul dvs. web pe un browser și puteți confirma că proxy-ul invers funcționează.

Deoarece avem două servere web care pot fi utilizate în funcție de portul utilizat de dispozitivele client, să legăm un alt server web la un alt port și să vedem ce se întâmplă.

Următoarea ieșire arată că HAProxy a trimis traficul nostru către al doilea server backend după ce a detectat că cererea clientului a fost trimisă prin portul 81, confirmând că distribuția traficului funcționează conform așteptărilor.

Așa se configurează HAProxy ca proxy invers.

Concluzie

HAProxy este o alegere excelentă pentru un proxy invers pentru serverul dvs. web. Configurarea acestuia este simplă. Specificați doar ce port să ascultați cererile clientului și ce reguli să utilizați pentru echilibrarea încărcăturii. Apoi, adăugați serverele de backend pe care să le utilizați și veți avea proxy-ul invers în funcțiune. Această postare a împărtășit pașii de urmat și a demonstrat un exemplu pentru a vă asigura că vă simțiți confortabil cu HAProxy.