Tento příspěvek začíná diskusí o tom, proč je implementace průchodu SSL v HAProxy zásadní. Poté probereme kroky, které je třeba dodržet při jeho implementaci, s příkladem pro snadné pochopení.
Co je průchod SSL a proč je nezbytný?
Jako nástroj pro vyrovnávání zátěže přebírá HAProxy zátěž směrovanou na váš webový server a distribuuje ji mezi nakonfigurované servery. Zátěž, která je distribuována, je provoz sdílený mezi klientskými zařízeními a backendovými servery. Zabezpečení je zásadní při vyvažování zátěže, a to je místo, kde přichází do hry průchod SSL.
V ideálním případě průchod SSL zahrnuje předávání provozu SSL/TLS na váš webový server a jeho distribuci na nakonfigurované servery bez ukončení připojení SSL/TLS na HAProxy nebo na jakémkoli jiném nástroji pro vyrovnávání zatížení, který používáte. S SSL passthrough si užijete lepší end-to-end šifrování a bude zachována původní IP adresa klienta. Navíc je to doporučené bezpečnostní opatření a vytváří lepší flexibilitu backendového serveru a snižuje přetížení HAProxy.
Podrobný průvodce, jak implementovat průchod SSL v HAProxy
Poté, co pochopíte, co znamená průchod SSL a proč jej potřebujete, je dalším úkolem poskytnout kroky, které byste měli dodržovat, abyste jej implementovali do vašeho nástroje pro vyrovnávání zatížení HAProxy. Postupujte podle uvedených kroků a rychle implementujte průchod SSL na vašem nástroji pro vyrovnávání zatížení HAProxy.
Krok 1: Nainstalujte HAProxy
Předpokládejme, že nemáte nainstalovaný HAProxy. Prvním krokem je nainstalovat jej, než jej nakonfigurujeme pro implementaci průchodu SSL. Začněte proto aktualizací svého úložiště.
$ sudo apt aktualizace
Dále nainstalujte HAProxy z výchozího úložiště pomocí následujícího příkazu. Všimněte si, že pro tento případ používáme Ubuntu:
$ sudo apt Nainstalujte haproxy
Jakmile máte nainstalovaný HAProxy, jste připraveni implementovat průchod SSL. Číst dál!
Krok 2: Implementujte SSL Passthrough v HAProxy
Pro tento krok musíme vstoupit do konfiguračního souboru HAProxy umístěného v „/etc/haproxy“ a upravit jej tak, aby specifikoval, jak chceme implementovat průchod SSL. Konfigurační soubor můžete otevřít v libovolném textovém editoru. Pro tuto demonstraci jsme použili nano.
$ sudo nano / atd / haproxy / haproxy, cfgJakmile přistoupíte ke konfiguračnímu souboru, musíte vytvořit dvě sekce: „frontend“ a „backend“. V „frontendu“ určujete, který port se má vázat pro připojení. Opět musíte určit, který protokol se má použít a které servery typu backend použít k distribuci provozu.
V tomto případě, protože chceme zabezpečit provoz, navážeme port 443, který je pro připojení HTTPS. Opět uvedeme, že chceme přijmout režim TCP, aby HAProxy fungovala na transportní vrstvě.
Jako pravidlo také přidáváme řádek „tcp-request“, který určuje dobu, po kterou se mají kontrolovat zprávy „ahoj“ SSL, abychom ověřili, že přijímáme provoz SSL. Nakonec určíme backendový server, který se má použít pro rozložení zátěže. Naše poslední „frontend“ sekce je následující:
Pro sekci „backend“ nastavíme režim na TCP. Poté určíme IP adresy serverů, které používáme pro vyrovnávání zátěže. Ujistěte se, že jste tyto IP adresy nahradili tak, aby odpovídaly IP adresám vašich živých serverů, a nastavte port připojení na 443.
Je přidána „volba tcplog“, která umožňuje protokolování problémů souvisejících s TCP do souboru protokolu, který je součástí „globální“ části konfiguračního souboru.
Krok 3: Restartujte HAProxy a otestujte konfiguraci
Jakmile upravíte konfigurační soubor HAProxy, uložte jej a ukončete. Restartujte službu HAProxy, aby se změny projevily.
A je to! Implementovali jsme SSL passthrough v HAProxy. Zkuste odeslat provoz na váš webový server pomocí příkazu jako curl a uvidíte, jak bude reagovat. Pokud je průchod SSL úspěšně implementován, získáte výstup ukazující, že připojení je vytvořeno přes port 443, a připojíte se k backend serveru. Váš server odpoví s požadovanými podrobnostmi a poskytne 200-stavovou odpověď.
Závěr
Implementace průchodu SSL pomáhá s vytvářením šifrování typu end-to-end a zajišťuje, že vaše připojení SSL/TLS bude zachováno, když dojde k vyrovnávání zátěže. Chcete-li implementovat průchod SSL v HAProxy, nainstalujte HAProxy a upravte konfigurační soubor, abyste určili, jak chcete, aby došlo k vyrovnávání zátěže. Pro lepší pochopení procesu se podívejte na uvedený příklad.