Inštalácia HAProxy 1.7 na Debian 9.1 (Stretch)

HAProxy je sieťová softvérová aplikácia, ktorá ponúka vysokú dostupnosť, vyrovnávanie záťaže a proxy pre sieťové aplikácie TCP a HTTP. Je vhodný pre webové stránky s vysokou návštevnosťou a poháňa mnoho populárnych stránok na webe. Tento článok vám ukáže, ako nainštalovať a nakonfigurovať HAProxy na Debian 9.1.

Hoci má HAProxy niekoľko významných funkcií, tento článok sa zameriava na to, ako nastaviť HAProxy na „proxy“ vašej webovej aplikácie.

Požiadavky

  • Aspoň dva servery Vultr (pre funkciu vyrovnávania záťaže) s vašou webovou stránkou alebo webovou aplikáciou nasadené na oboch.

Inštalácia HAProxy

Debian 9 sa už dodáva s HAProxy 1.7 (najnovšie stabilné vydanie v čase písania tohto článku) a môžeme ho jednoducho nainštalovať pomocou apt-get:

# apt-get update
# apt-get install haproxy

Ak boli predchádzajúce príkazy úspešné, potom ste nainštalovali HAProxy a môžete prejsť na ďalší krok.

Konfigurácia HAProxy

Konfiguračný súbor HAProxy je rozdelený na dve časti – „globálne“ a „proxy“. Jeden sa zaoberá konfiguráciou celého procesu, zatiaľ čo druhý pozostáva z predvolenej konfigurácie, frontendu a backendu.

Globálna sekcia

Pomocou svojho obľúbeného textového editora otvorte /etc/haproxy/haproxy.cfga všimnite si preddefinované sekcie: „globálne“ a „predvolené“. Prvá vec, ktorú možno budete chcieť urobiť, je zväčšiť maxconnna primeranú veľkosť, pretože to ovplyvňuje pripojenia, ktoré HAProxy umožňuje. Príliš veľa pripojení môže spôsobiť zlyhanie vašej webovej služby v dôsledku mnohých požiadaviek. Budete musieť upraviť veľkosť, aby ste videli, čo vám vyhovuje. V globálnej časti sme zvolili maxconnhodnotu 3072.

global
    daemon
    maxconn 3072

V predvolenej časti pridajte nasledujúci riadok pod režim http:

option forwardfor

Toto pridá X-Forwarded-Forhlavičky ku každej požiadavke, čo vašim backendovým serverom umožní zistiť pôvodnú IP adresu používateľa.

Pridajte tento riadok, aby ste povolili režim zatvorenia pripojenia HTTP na strane servera a zároveň zachovali schopnosť podporovať udržiavanie HTTP na strane klienta. To znižuje latenciu na strane klienta a pomáha šetriť zdroje servera:

option http-server-close

Ak chcete použiť funkciu keep-alive na strane klienta aj servera, môžete option http-keep-alivenamiesto toho použiť . Táto možnosť je užitočná najmä vtedy, keď sú náklady na vytvorenie nového pripojenia k serveru značné v porovnaní s nákladmi na získanie požadovaného zdroja.

Nakoniec bude výsledný konfiguračný súbor vyzerať asi takto:

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

Sekcia proxy

Ak chcete nastaviť server proxy, budete musieť do konfiguračného súboru pridať dve sekcie na definovanie dvoch častí servera proxy: frontend a backend.

Konfigurácia frontendu

Frontend sa postará o vaše pripojenia HTTP. Na koniec haproxy.cfgsúboru pridajte nasledovné :

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

Nezabudnite ho nahradiť public_ipverejnou IP adresou alebo názvom domény vášho servera.

Konfigurácia backendu

Nastavte svoj backend pridaním nasledujúcich riadkov na koniec konfiguračného súboru:

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

Konfigurácia backendu, ktorá sa tu používa, vytvára 3 pripojenia s názvom X-www. ( Xje 1, 2 alebo 3.) Každému z nich zodpovedá serverX_ip:80 adresa. (Nahraďte serverX_ipIP adresami inštancií Vultr.) To vám umožní vyvážiť zaťaženie medzi každým serverom v špecifikovanej sade serverov (za predpokladu, že každá IP adresa zodpovedá inému serveru). Táto checkmožnosť spôsobí, že nástroj na vyvažovanie záťaže vykoná kontroly stavu servera.

Uložte konfiguračný súbor a potom reštartujte HAProxy:

service haproxy restart

Ak všetko funguje, budete sa môcť pripojiť k http://public_ip/(nahradiť ju svojou verejnou IP alebo názvom domény, ako je nakonfigurované v kroku frontendu) a zobraziť svoju webovú stránku.

Chyby ladenia

Ak sa vaša inštancia HAProxy odmietne spustiť po vašich úpravách, je pravdepodobné, že niekde v konfiguračnom súbore máte chybu. Ak chcete získať jasné správy o probléme v konfiguračnom súbore, môžete skúsiť spustiť HAProxy manuálne pomocou tohto príkazu:

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

Napríklad, ak 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 ste zabudli zadať číslo portu pre server 1-www.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac