Jak nakonfigurovat HAProxy jako reverzní proxy

Jak Nakonfigurovat Haproxy Jako Reverzni Proxy



Když máte webový server, možnost předávat požadavky klientů a odpověď serveru pomáhá s distribucí provozu a zvyšuje zabezpečení. Reverzní proxy, jako je HAProxy, po nakonfigurování funguje jako prostředník mezi vaší webovou aplikací a klientskými zařízeními. Tímto způsobem přijímá požadavky klientů a předává je příslušnému webovému serveru, přičemž přijímá odpověď serveru a přenáší je klientům. Konfigurace HAProxy na straně serveru tak, aby fungovala jako reverzní proxy, je jednoduchý proces. Tento příspěvek podrobně popisuje kroky, které byste měli podniknout.

Proč používat reverzní proxy?

Než probereme kroky ke konfiguraci HAProxy jako reverzního proxy, pojďme rychle zdůraznit, proč reverzní proxy funguje ve váš prospěch. Níže jsou uvedeny výhody, které získáte používáním HAProxy jako reverzního proxy:

  1. Vyrovnávání zátěže – Váš webový server může mít v jednu chvíli případ mnoha klientských požadavků, které, pokud nejsou dobře zpracovány, jej mohou přetížit, což způsobí neočekávané výpadky. Konfigurace reverzního proxy však zajistí, že provoz bude distribuován mezi servery typu backend, aby se zajistilo, že žádný server nebude přetížen požadavky.
  2. Firewall a zabezpečení – Reverzní proxy připojuje klientská zařízení k webovému serveru. Tím se sníží riziko přímého vystavení našich backendových serverů internetu. Tímto způsobem lze škodlivý provoz snadno filtrovat a blokovat dříve, než poškodí servery.
  3. Lepší ukládání do mezipaměti – S reverzním proxy serverem si všimnete celkového zlepšení výkonu, protože doba načítání se zkrátí ukládáním statického obsahu do mezipaměti. Kromě toho dosáhnete lepší uživatelské zkušenosti.
  4. Ukončení SSL/TLS – S reverzním proxy se šifrování a dešifrování připojení SSL/TLS stane bezproblémovým a vaše backendové servery nebudou muset nést tento úkol, čímž se sníží jejich zatížení.

Jak nakonfigurovat HAProxy jako reverzní proxy

Poté, co jsme vysvětlili, proč je reverzní proxy, jako je HAProxy, nezbytný, uveďme konfigurační kroky, které je třeba dodržovat.







Krok 1: Nainstalujte HAProxy



Pravděpodobně již máte na svém systému nainstalovaný HAProxy. Pokud ano, přeskočte tento krok. Pro někoho nového však spusťte následující příkaz k instalaci HAProxy:



$ sudo apt install haproxy

V našem případě ji již máme nainstalovanou.





Krok 2: Upravte konfigurační soubor HAProxy



HAProxy má konfigurační soubor, který musíte otevřít a upravit, abyste jej mohli nakonfigurovat jako reverzní proxy. Začněte otevřením konfiguračního souboru pomocí textového editoru.

$ sudo nano /etc/haproxy/haproxy.cfg

Jakmile se otevře, všimněte si, že má základní konfigurace pro výchozí a globální sekci. Poté musíme vytvořit další dvě sekce: frontend a backend. Frontend definuje rozhraní, která by měla přijímat požadavky klientů, zatímco backend určuje servery, které budou provoz zpracovávat.

V tomto příkladu nakonfigurujeme frontend tak, aby přijímal požadavky klientů z portů 80 a 81. Poté vytvoříme pravidlo pro distribuci provozu tak, aby připojení z portu 80 byla směrována na konkrétní server, zatímco připojení z portu 81 směřovala na jiný server. server. Naše frontendová sekce je znázorněna na následujícím obrázku:

Protože jsme vytvořili dva backendové servery, backend2 a linux_backend, musíme vytvořit backendové sekce pro oba servery. Pro každou specifikujeme, jakou IP adresu distribuovat na náš „server1“ a „server2“.

Jakmile je konfigurační soubor upraven, uložte jej a ukončete soubor. Všimněte si, že existuje mnoho způsobů, jak nakonfigurovat HAProxy v závislosti na vašich potřebách. V našem případě vytváříme webové servery pomocí zadané IP adresy pro směrování našeho provozu. Změňte adresy IP tak, aby odpovídaly adresám vašich webových serverů a na kterém portu chcete naslouchat.

Krok 3: Ověřte platnost

S HAProxy existuje příkaz, který vám umožní ověřit, zda je váš konfigurační soubor platný. Spusťte následující příkaz a podívejte se, jaký výstup získáte:

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

Pokud získáte podobný výstup, potvrdí to, že váš konfigurační soubor je platný. Jinak to způsobí chyby.

Krok 4: Otestujte reverzní proxy

Pomocí příkazu jako „curl“ můžete odeslat provoz na váš webový server a zjistit, jak reaguje. V našem případě používáme k vytvoření webových serverů Python3.

Spuštěním příkazu „curl“ se potvrdí, že náš webový server naslouchá zadanému portu a že HAProxy distribuoval provoz na zadaný server na základě našeho konfiguračního souboru.

Můžete také přistupovat k webovému serveru pomocí prohlížeče a potvrdit, že reverzní proxy funguje.

Protože máme dva webové servery, které lze použít v závislosti na portu, který používají klientská zařízení, pojďme svázat jiný webový server s jiným portem a uvidíme, co se stane.

Následující výstup ukazuje, že HAProxy odeslal náš provoz na druhý backend server poté, co zjistil, že požadavek klienta byl odeslán přes port 81, což potvrzuje, že rozložení provozu funguje podle očekávání.

Takto nakonfigurovat HAProxy jako reverzní proxy.

Závěr

HAProxy je vynikající volbou pro reverzní proxy pro váš webový server. Jeho konfigurace je jednoduchá. Určete pouze, na kterém portu bude naslouchat požadavkům klientů a jaká pravidla použít pro vyrovnávání zátěže. Poté přidejte backendové servery, které chcete použít, a budete mít svůj reverzní proxy v provozu. Tento příspěvek sdílel kroky, které je třeba následovat, a demonstroval příklad, abyste zajistili, že se s HAProxy budete cítit pohodlně.