Instalace HAProxy 1.7 na Debian 9.1 (Stretch)

HAProxy je síťová softwarová aplikace, která nabízí vysokou dostupnost, vyvažování zátěže a proxy pro síťové aplikace TCP a HTTP. Je vhodný pro weby s vysokou návštěvností a pohání mnoho oblíbených webů na webu. Tento článek vám ukáže, jak nainstalovat a nakonfigurovat HAProxy na Debianu 9.1.

Ačkoli má HAProxy několik prominentních funkcí, tento článek se zaměřuje na to, jak nastavit HAProxy, aby "proxy" vaší webové aplikace.

Požadavky

  • Alespoň dva servery Vultr (pro funkci vyrovnávání zátěže) s vaším webem nebo webovou aplikací nasazené na obou z nich.

Instalace HAProxy

Debian 9 se již dodává s HAProxy 1.7 (nejnovější stabilní vydání v době psaní tohoto článku) a můžeme jej jednoduše nainstalovat pomocí apt-get:

# apt-get update
# apt-get install haproxy

Pokud byly předchozí příkazy úspěšné, nainstalovali jste HAProxy a můžete přejít k dalšímu kroku.

Konfigurace HAProxy

Konfigurační soubor HAProxy je rozdělen do dvou částí — „global“ a „proxy“. Jedna se zabývá konfigurací celého procesu, zatímco druhá se skládá z výchozí konfigurace, frontendu a backendu.

Globální sekce

Pomocí svého oblíbeného textového editoru otevřete /etc/haproxy/haproxy.cfga všimněte si předdefinovaných sekcí: „globální“ a „výchozí“. První věc, kterou možná budete chtít udělat, je zvětšit na maxconnrozumnou velikost, protože to ovlivňuje připojení, která HAProxy umožňuje. Příliš mnoho připojení může způsobit pád vaší webové služby kvůli mnoha požadavkům. Budete muset upravit velikost, abyste viděli, co vám vyhovuje. V globální sekci jsme zvolili maxconnhodnotu 3072.

global
    daemon
    maxconn 3072

Ve výchozí sekci přidejte následující řádek pod režim http:

option forwardfor

To přidá X-Forwarded-Forzáhlaví ke každému požadavku, což vašim backendovým serverům umožní zjistit původní IP adresu uživatele.

Přidáním tohoto řádku také povolíte režim zavření připojení HTTP na straně serveru a zároveň zachováte možnost podpory HTTP keep-alive na straně klienta. To snižuje latenci na straně klienta a pomáhá šetřit prostředky serveru:

option http-server-close

Pokud chcete používat keep-alive na straně klienta i serveru, můžete option http-keep-alivemísto toho použít . Tato možnost je zvláště užitečná, když jsou náklady na vytvoření nového připojení k serveru značné ve srovnání s náklady na získání požadovaného zdroje.

Nakonec bude výsledný konfigurační soubor vypadat nějak takto:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Sekce proxy

Chcete-li nastavit proxy, budete muset do konfiguračního souboru přidat dvě části, které definují dvě části proxy: frontend a backend.

Konfigurace frontendu

Frontend se postará o vaše HTTP připojení. Na konec haproxy.cfgsouboru přidejte následující :

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Nezapomeňte nahradit public_ipveřejnou IP adresou nebo názvem domény vašeho serveru.

Konfigurace backendu

Nastavte svůj backend přidáním následujících řádků na konec konfiguračního souboru:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

Zde použitá konfigurace backendu vytváří 3 připojení s názvem X-www. ( Xje 1, 2 nebo 3.) Každý z nich odpovídá serverX_ip:80 adrese. (Nahraďte serverX_ipIP adresami instancí Vultr.) To vám umožní vyvážit zatížení mezi každým serverem v zadané sadě serverů (za předpokladu, že každá IP adresa odpovídá jinému serveru). Tato checkmožnost umožňuje nástroji pro vyrovnávání zatížení provádět kontroly stavu serveru.

Uložte konfigurační soubor a restartujte HAProxy:

service haproxy restart

Pokud vše funguje, budete se moci připojit http://public_ip/(nahraďte je svou veřejnou IP nebo názvem domény, jak je nakonfigurováno v kroku frontendu) a prohlížet si svůj web.

Chyby ladění

Pokud se vaše instance HAProxy po vašich úpravách odmítne spustit, je pravděpodobné, že máte někde chybu v konfiguračním souboru. Chcete-li získat jasné zprávy o problému v konfiguračním souboru, můžete zkusit spustit HAProxy ručně pomocí tohoto příkazu:

# haproxy -f /etc/haproxy/haproxy.cfg

Pokud například vidíte výstup takto:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Potom jste zapomněli zadat číslo portu pro server 1-www.

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více