Kako konfigurirati HAProxy za povezave WebSocket

Kako Konfigurirati Haproxy Za Povezave Websocket



Aplikacije WebSocket imajo dvosmerno komunikacijo v realnem času med odjemalcem in strežnikom. Tudi s povezavami WebSocket še vedno potrebujete način za distribucijo prometa, da se izognete preobremenitvi strežnika, ki bi povzročila izpade in nedosegljivost.

HAProxy je primer brezplačnega in zanesljivega izravnalnika obremenitve, ki deluje tudi kot obratni proxy. HAProxy lahko konfigurirate za povezave WebSocket, da bolje izkoristite funkcije WebSockets, zlasti pri prenosu podatkov v realnem času, hkrati pa zmanjšate obremenitev strežnika z uporabo HAProxy. Ta objava predstavlja vse potrebne korake za konfiguracijo HAProxy za povezave WebSocket.

Vodnik po korakih o tem, kako konfigurirati HAProxy za povezave WebSocket

S povezavami WebSocket je komunikacija med strežnikom in odjemalcem dolgotrajna. Traja, dokler se strežnik ali odjemalec ne odloči zapreti. Kot tak način dela z izravnalnikom obremenitve zagotavlja, da se lahko promet porazdeli na drug strežnik, če je strežnik preobremenjen. Tako lahko odjemalec in strežnik uživata v neprekinjeni in dolgotrajni povezavi z nizko zakasnitvijo.







1. Namestite HAProxy

Prvi korak pri konfiguraciji HAProxy za povezave WebSocket je zagotoviti, da imate nameščen HAProxy. Če ga že imate nameščenega, preskočite ta korak. V nasprotnem primeru zaženite naslednji ukaz, da ga namestite:



$ sudo apt-get namestitev haproxy



2. Uredite konfiguracijo HAProxy

Če želite konfigurirati HAProxy za povezave WebSocket, moramo konfiguracijo HAProxy urediti tako, da podpira povezave WebSocket. Spremeniti moramo razdelek »Privzete nastavitve« in ustvariti razdelka »Frontend« in »Backend«.





Odprite konfiguracijo HAProxy z urejevalnikom besedil, kot sledi:

$ sudo nano / itd / haproxy / haproxy.cfg

V razdelku »Privzete nastavitve« ga spremenite, kot je prikazano na naslednji sliki. Najprej določimo, da delamo s povezavami HTTP, in določimo, kam poslati dnevniške datoteke. Nato nastavimo časovne omejitve za različne dejavnosti. Na primer, časovna omejitev povezave je najdaljši čas, ki naj traja poskus povezave s strežnikom. Če je dosežen najdaljši čas, se ugotovi, da povezava ni uspela in jo lahko poskusite znova.



V tem primeru smo nastavili časovno omejitev povezave na 5000 milisekund. Časovno omejitev lahko prilagodite glede na to, kako jih najbolje vidite za svoj primer. Prilagodite jih glede na svojo aplikacijo in si zapomnite trajanje sej WebSocket in kako dolgo življenjsko dobo pričakujete.

Nato moramo ustvariti razdelek »Frontend«, kjer povežemo, katera vrata uporabiti za povezave WebSocket in kateri zaledni strežnik naj se sklicuje. V tem primeru določimo vrata 80 in podamo URL za dostop do strani »Statistika« za spremljanje našega HAProxy. Nazadnje določimo, na kateri odsek zaledja se sklicujemo pri uravnoteženju obremenitve.

V razdelku »Backend« porazdelimo obremenitev z uporabo krožnega sistema. »Možnost posredovanja za« določa, da HAProxy pri pošiljanju zahteve za povezavo vključi glavo »X-Forward-For«, ki vsebuje odjemalčev naslov IP. Tako bo zaledni strežnik dobil pravilen IP odjemalca.

»Možnost http-server-close« omejuje vire tako, da odstrani morebitne nedejavne povezave, da zavzamejo vire strežnika. Čeprav so povezave WebSocket dolgožive, moramo preveriti nedejavne dolgožive povezave in jih zapreti, da se izognemo nepotrebni izgubi virov.

Nazadnje dodajte zaledne strežnike, ki jih boste uporabljali za distribucijo prometa. Prepričajte se, da ste podali pravilen naslov IP za strežnike in zamenjajte tiste na naslednji sliki:

Vaš HAProxy je zdaj konfiguriran za povezave WebSocket. Shranite spremembe in zaprite datoteko.

3. Preizkusite veljavnost

Preden ponovno zaženemo HAProxy, lahko zaženemo hiter ukaz, da preverimo, ali je datoteka veljavna in nima napake. Za to zaženite naslednji ukaz:

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

4. Znova zaženite in preizkusite povezavo WebSocket

Ko je datoteka veljavna, znova zaženite storitev HAProxy.

To je to. Konfigurirali ste HAProxy za povezave WebSocket. Povezavo lahko preizkusite, da zagotovite, da je ves promet WebSocket pravilno posredovan.

Zaključek

Konfiguracija HAProxy za povezave WebSocket je iskana rešitev, zlasti med spletnimi skrbniki. Ta objava je podrobno opisala postopek, podala korake in primer, ki zagotavlja, da boste udobno sledili in ga uspeli izvesti v vašem primeru. Pojdite skozi vsak korak in se prepričajte, da razumete koncept in postopek za njegovo izvedbo.