Jak nakonfigurovat HAProxy pro připojení WebSocket

Jak Nakonfigurovat Haproxy Pro Pripojeni Websocket



Aplikace WebSocket mají mezi klientem a serverem obousměrnou komunikaci v reálném čase. I přes připojení WebSocket stále potřebujete způsob, jak distribuovat provoz, abyste zabránili přetížení serveru, které by vedlo k výpadkům a nedostupnosti.

HAProxy je příkladem bezplatného a spolehlivého nástroje pro vyrovnávání zatížení, který funguje také jako reverzní proxy. Můžete nakonfigurovat HAProxy pro připojení WebSocket, abyste lépe využívali funkce WebSockets, zejména při přenosu dat v reálném čase, a zároveň minimalizovali zatížení serveru pomocí HAProxy. Tento příspěvek představuje všechny požadované kroky ke konfiguraci HAProxy pro připojení WebSocket.

Podrobný průvodce, jak nakonfigurovat HAProxy pro připojení WebSocket

S připojeními WebSocket je komunikace mezi serverem a klientem dlouhodobá. Přetrvává, dokud se server nebo klient nerozhodne jej zavřít. Způsob práce s nástrojem pro vyrovnávání zatížení jako takový zajišťuje, že provoz může být distribuován na jiný server, pokud je server přetížen. Klient a server si tak mohou užívat nepřerušovaného a dlouhodobého připojení s nízkou latencí.







1. Nainstalujte HAProxy

Prvním krokem ke konfiguraci HAProxy pro připojení WebSocket je zajistit, že máte nainstalovaný HAProxy. Pokud jej již máte nainstalovaný, tento krok přeskočte. V opačném případě spusťte následující příkaz a nainstalujte jej:



$ sudo instalace apt-get haproxy



2. Upravte konfiguraci HAProxy

Abychom nakonfigurovali HAProxy pro připojení WebSocket, musíme upravit konfiguraci HAProxy tak, aby podporovala připojení WebSocket. Musíme upravit sekci „Výchozí“ a vytvořit sekce „Frontend“ a „Backend“.





Otevřete konfiguraci HAProxy pomocí textového editoru takto:

$ sudo nano / atd / haproxy / haproxy.cfg

V části „Výchozí“ jej upravte tak, jak je znázorněno na následujícím obrázku. Nejprve určíme, že pracujeme s připojením HTTP a definujeme, kam se mají posílat soubory protokolu. Dále nastavíme časové limity pro různé aktivity. Například časový limit připojení je maximální doba, kterou by měl trvat pokus o připojení k serveru. Pokud je dosaženo maximálního času, spojení se považuje za neúspěšné a lze jej opakovat.



Pro tento případ jsme nastavili časový limit připojení na 5000 milisekund. Časový limit můžete upravit podle toho, jak je nejlépe vidíte pro váš případ. Upravte je na základě vaší aplikace a zapamatujte si dobu trvání relací WebSocket a jejich životnost.

Dále musíme vytvořit sekci „Frontend“, kde svážeme, jaké porty se mají použít pro připojení WebSocket a jaký backend server se má odkazovat. V tomto případě specifikujeme port 80 a poskytneme URL pro přístup na stránku „Statistiky“ pro monitorování našeho HAProxy. Nakonec definujeme, na kterou sekci backendu se má odkazovat při vyrovnávání zátěže.

V části „Backend“ rozdělujeme zatížení pomocí kruhového zpracování. „Option forward for“ určuje, že HAProxy zahrne hlavičku „X-Forward-For“, která obsahuje IP adresu klienta při odesílání požadavku na připojení. Tímto způsobem backend server získá správnou IP klienta.

„Volba http-server-close“ omezuje zdroje tím, že eliminuje všechna nečinná připojení, aby zabírala zdroje serveru. Přestože jsou připojení WebSocket dlouhodobá, musíme zkontrolovat nečinná dlouhodobá připojení a uzavřít je, abychom předešli zbytečnému plýtvání zdroji.

Nakonec přidejte backendové servery, které budete používat k distribuci provozu. Ujistěte se, že jste zadali správnou IP adresu pro servery a nahraďte ty na následujícím obrázku:

Vaše HAProxy je nyní nakonfigurováno pro připojení WebSocket. Uložte změny a zavřete soubor.

3. Test platnosti

Než restartujeme HAProxy, můžeme spustit rychlý příkaz a zkontrolovat, zda je soubor platný a nemá chybu. Za tímto účelem spusťte následující příkaz:

$ sudo haproxy -C -F / atd / haproxy / haproxy.cfg

4. Restartujte a otestujte připojení WebSocket

Jakmile je soubor platný, restartujte službu HAProxy.

A je to. Nakonfigurovali jste HAProxy pro připojení WebSocket. Můžete otestovat připojení, abyste se ujistili, že veškerý provoz WebSocket je přesměrován správně.

Závěr

Konfigurace HAProxy pro připojení WebSocket je vyhledávaným řešením zejména správci webu. Tento příspěvek podrobně rozpracoval proces, uvedl kroky a příklad, abyste zajistili, že budete pohodlně sledovat a zvládnete totéž implementovat ve vašem případě. Projděte si každý krok a ujistěte se, že rozumíte konceptu a procesu jeho implementace.