Kako konfigurirati HAProxy kao obrnuti proxy

Kako Konfigurirati Haproxy Kao Obrnuti Proxy



Kada imate web poslužitelj, mogućnost prosljeđivanja zahtjeva klijenta i odgovora poslužitelja pomaže u distribuciji prometa i povećava sigurnost. Obrnuti proxy, kao što je HAProxy, djeluje kao posrednik između vaše web aplikacije i klijentskih uređaja kada je konfiguriran. Na taj način prima zahtjeve klijenta i prosljeđuje ih odgovarajućem web poslužitelju dok prima odgovor poslužitelja i šalje ih klijentima. Konfiguriranje HAProxyja na strani poslužitelja da djeluje kao vaš obrnuti proxy jednostavan je postupak. Ovaj post detaljno opisuje korake koje trebate poduzeti.

Zašto koristiti obrnuti proxy?

Prije rasprave o koracima za konfiguriranje HAProxyja kao obrnutog proxyja, hajde da brzo istaknemo zašto obrnuti proxy radi u vašu korist. Sljedeće su prednosti koje dobivate korištenjem HAProxy kao obrnutog proxyja:

  1. Balansiranje opterećenja – Vaš web poslužitelj može, u jednom trenutku, imati slučaj mnogo zahtjeva klijenata koji, ako se ne obrade dobro, mogu ga preopteretiti što uzrokuje neočekivani zastoj. Međutim, konfiguriranje obrnutog proxyja osigurava da se promet distribuira preko pozadinskih poslužitelja kako bi se osiguralo da niti jedan poslužitelj ne bude preopterećen zahtjevima.
  2. Vatrozid i sigurnost – Obrnuti proxy povezuje klijentske uređaje s web poslužiteljem. Time se smanjuje rizik od izravnog izlaganja naših pozadinskih poslužitelja internetu. Na taj način se zlonamjerni promet može lako filtrirati i blokirati prije nego što ošteti poslužitelje.
  3. Bolje predmemoriranje – S obrnutim proxyjem primijetit ćete sveukupno poboljšanje performansi jer će se vrijeme učitavanja smanjiti predmemoriranjem statičkog sadržaja. Osim toga, postići ćete bolje korisničko iskustvo.
  4. SSL/TLS prekid – S obrnutim proxyjem, šifriranje i dešifriranje SSL/TLS veza postaje besprijekorno, a vaši pozadinski poslužitelji neće morati preuzeti ovaj zadatak, smanjujući svoje opterećenje.

Kako konfigurirati HAProxy kao obrnuti proxy

Nakon što smo objasnili zašto je obrnuti proxy kao što je HAProxy bitan, dajmo korake konfiguracije koje treba slijediti.







Korak 1: Instalirajte HAProxy



Vjerojatno već imate instaliran HAProxy na vašem sustavu. Ako je tako, preskočite ovaj korak. Međutim, ako netko nije u ovome, pokrenite sljedeću naredbu da instalirate HAProxy:



$ sudo apt instalirajte haproxy

Već ga imamo instalirano u našem kućištu.





Korak 2: Uredite HAProxy konfiguracijsku datoteku



HAProxy ima konfiguracijsku datoteku kojoj morate pristupiti i urediti je da biste je konfigurirali kao svoj obrnuti proxy. Započnite otvaranjem konfiguracijske datoteke pomoću uređivača teksta.

$ sudo nano /etc/haproxy/haproxy.cfg

Nakon što se otvori, imajte na umu da ima osnovne konfiguracije za zadani i globalni odjeljak. Zatim moramo stvoriti još dva odjeljka: frontend i backend. Frontend definira sučelja koja bi trebala primati klijentske zahtjeve, dok backend specificira poslužitelje koji će rukovati prometom.

Za ovaj primjer, konfiguriramo sučelje da prihvati zahtjeve klijenata s portova 80 i 81. Zatim stvaramo pravilo za distribuciju prometa tako da se veze s porta 80 usmjeravaju na određeni poslužitelj, dok one s porta 81 idu na drugi poslužitelj. Naš odjeljak sučelja prikazan je u nastavku:

Budući da smo stvorili dva pozadinska poslužitelja, backend2 i linux_backend, moramo stvoriti pozadinske odjeljke za oba poslužitelja. Određujemo koji IP za distribuciju prometa na naš 'poslužitelj1' i 'poslužitelj2' za svaki.

Nakon što se konfiguracijska datoteka uredi, spremite je i izađite iz datoteke. Imajte na umu da postoje brojni načini za konfiguriranje HAProxy ovisno o vašim potrebama. U našem slučaju, kreiramo web poslužitelje koristeći navedenu IP adresu za usmjeravanje našeg prometa. Promijenite IP-ove da odgovaraju onima vaših web poslužitelja i portu na kojem želite slušati.

Korak 3: Provjerite valjanost

Uz HAProxy, postoji naredba koja vam omogućuje da provjerite je li vaša konfiguracijska datoteka važeća. Pokrenite sljedeću naredbu i pogledajte kakav izlaz dobivate:

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

Ako dobijete sličan rezultat, to potvrđuje da je vaša konfiguracijska datoteka važeća. U suprotnom će izazvati pogreške.

Korak 4: Testirajte obrnuti proxy

Koristeći naredbu poput 'curl', možete poslati promet na svoj web poslužitelj i vidjeti kako će reagirati. U našem slučaju koristimo Python3 za izradu web poslužitelja.

Pokretanje naredbe “curl” potvrđuje da naš web poslužitelj sluša navedeni port i da je HAProxy distribuirao promet navedenom poslužitelju na temelju naše konfiguracijske datoteke.

Također možete pristupiti svom web poslužitelju putem preglednika i potvrditi da obrnuti proxy radi.

Budući da imamo dva web poslužitelja koji se mogu koristiti ovisno o priključku koji koriste klijentski uređaji, povežimo drugi web poslužitelj na drugi priključak i vidimo što će se dogoditi.

Sljedeći izlaz pokazuje da je HAProxy poslao naš promet drugom pozadinskom poslužitelju nakon što je otkrio da je zahtjev klijenta poslan preko priključka 81, potvrđujući da distribucija prometa radi prema očekivanjima.

Tako se konfigurira HAProxy kao obrnuti proxy.

Zaključak

HAProxy je odličan izbor za obrnuti proxy za vaš web poslužitelj. Konfiguriranje je jednostavno. Odredite samo koji port treba slušati za klijentske zahtjeve i koja pravila koristiti za balansiranje opterećenja. Zatim dodajte pozadinske poslužitelje za korištenje i imat ćete svoj obrnuti proxy postavljen i pokrenut. Ovaj post dijeli korake koje treba slijediti i demonstrira primjer kako biste bili sigurni da ćete se osjećati ugodno s HAProxyjem.