Ovaj post počinje raspravom o tome zašto je implementacija SSL prolaza u HAProxy ključna. Zatim raspravljamo o koracima koje treba slijediti kako bismo ga implementirali s primjerom za lakše razumijevanje.
Što je SSL Passthrough i zašto je bitan?
Kao balanser opterećenja, HAProxy preuzima opterećenje usmjereno na vaš web poslužitelj i distribuira ga po konfiguriranim poslužiteljima. Opterećenje koje se raspodjeljuje je promet koji se dijeli između klijentskih uređaja i pozadinskih poslužitelja. Sigurnost je ključna pri balansiranju opterećenja, a tu dolazi do izražaja SSL prolaz.
U idealnom slučaju, SSL prolaz uključuje prosljeđivanje SSL/TLS prometa na vaš web poslužitelj i njegovu distribuciju na konfigurirane poslužitelje bez prekidanja SSL/TLS veze na HAProxy ili bilo kojem drugom balanseru opterećenja koji koristite. Sa SSL prolazom uživat ćete u boljoj end-to-end enkripciji, a originalna IP adresa klijenta bit će sačuvana. Štoviše, to je preporučena sigurnosna mjera i stvara bolju fleksibilnost pozadinskog poslužitelja, smanjujući preopterećenje HAProxyja.
Vodič korak po korak o tome kako implementirati SSL prolaz u HAProxy
Nakon što ste razumjeli što SSL prolaz znači i zašto vam je potreban, sljedeći zadatak je pružiti korake koje biste trebali slijediti da biste ga implementirali u svoj HAProxy load balancer. Slijedite navedene korake i brzo implementirajte SSL prolaz na svom HAProxy balanseru opterećenja.
Korak 1: Instalirajte HAProxy
Pretpostavimo da nemate instaliran HAProxy. Prvi korak je da ga instaliramo prije nego što ga konfiguriramo za implementaciju SSL prolaza. Stoga započnite s ažuriranjem svog repozitorija.
$ sudo prikladno ažuriranje
Zatim instalirajte HAProxy iz zadanog repozitorija sljedećom naredbom. Imajte na umu da koristimo Ubuntu za ovaj slučaj:
$ sudo prikladan instalirati haproxy
Nakon što instalirate HAProxy, spremni ste za implementaciju SSL prolaza. Nastavi čitati!
Korak 2: Implementirajte SSL Passthrough u HAProxy
Za ovaj korak, moramo pristupiti konfiguracijskoj datoteci HAProxy koja se nalazi u “/etc/haproxy” i urediti je kako bismo odredili kako želimo implementirati SSL prolaz. Konfiguracijsku datoteku možete otvoriti bilo kojim uređivačem teksta. Koristili smo nano za ovu demonstraciju.
$ sudo nano / itd / haproxy / haproxy, cfgNakon što pristupite konfiguracijskoj datoteci, postoje dva odjeljka koja morate izraditi: 'frontend' i 'backend'. U 'frontendu', to je mjesto gdje određujete koji port želite vezati za veze. Opet morate navesti koji protokol koristiti i koje pozadinske poslužitelje koristiti za distribuciju prometa.
U ovom slučaju, budući da želimo osigurati promet, vezat ćemo port 443 koji je za HTTPS veze. Opet navodimo da želimo prihvatiti TCP način rada za HAProxy na transportnom sloju.
Također dodajemo redak 'tcp-request' kao pravilo koje navodi trajanje u kojem treba pregledati SSL 'hello' poruke kako bismo provjerili prihvaćamo li SSL promet. Na kraju, navodimo pozadinski poslužitelj koji će se koristiti za raspodjelu opterećenja. Naš posljednji 'frontend' odjeljak je sljedeći:
Za odjeljak 'backend' postavili smo način rada na TCP. Zatim navodimo IP adrese za poslužitelje koje koristimo za balansiranje opterećenja. Provjerite jeste li zamijenili ove IP-ove tako da odgovaraju onima vaših živih poslužitelja i postavite port veze na 443.
Dodana je 'opcija tcplog' kako bi se omogućilo bilježenje problema povezanih s TCP-om u log datoteci koja je uključena u 'globalni' odjeljak konfiguracijske datoteke.
Korak 3: Ponovno pokrenite HAProxy i testirajte konfiguraciju
Nakon što uredite konfiguracijsku datoteku HAProxy, spremite je i izađite. Ponovno pokrenite uslugu HAProxy da bi se promjene primijenile.
To je to! Implementirali smo SSL prolaz u HAProxy. Pokušajte poslati promet na svoj web poslužitelj pomoću naredbe poput curl i pogledajte kako će reagirati. Ako je SSL prolaz uspješno implementiran, dobit ćete izlaz koji pokazuje da je veza uspostavljena preko porta 443, te ćete se spojiti na pozadinski poslužitelj. Vaš poslužitelj će odgovoriti sa potrebnim detaljima i dati odgovor od 200 statusa.
Zaključak
Implementacija SSL prolaza pomaže u stvaranju end-to-end enkripcije i osiguravanju da se vaša SSL/TLS veza održava dok dolazi do uravnoteženja opterećenja. Za implementaciju SSL prolaza u HAProxy, instalirajte HAProxy i uredite konfiguracijsku datoteku kako biste odredili kako želite da se odvija uravnoteženje opterećenja. Pogledajte prikazani primjer kako biste bolje razumjeli proces.