Kontroly stavu HAProxy pre dopredný proxy Squid
Vytvorte kontrolu stavu HAProxy, ktorá komunikuje s dopredným proxy, a rozlišujte dostupnosť listenera, prijatie CONNECT a získanie z pôvodného servera.
Súbor s názvom /check.txt na proxy hostiteľovi znie ako samozrejmý cieľ kontroly stavu. Háčik je v tom, že explicitný dopredný listener Squidu nie je bežná webová stránka, ktorá by obsluhovala koreň dokumentov tohto hostiteľa.
Požiadavka v štýle pôvodného servera, napríklad HEAD /check.txt HTTP/1.1, vynecháva absolútny cieľ očakávaný pri bežnej HTTP požiadavke cez dopredný proxy. V závislosti od konfigurácie môže byť odmietnutá alebo ju môže obslúžiť iná miestna služba. Oba výsledky vám môžu povedať menej, než naznačuje panel.
Vyberte službu, ktorú potrebujete mať dostupnú
| Kontrola | Užitočný dôkaz |
|---|---|
| TCP spojenie s listenerom proxy | Dostupný proces toto spojenie prijme. |
| CONNECT na riadený cieľ | Proxy tento tunelový request prijme. |
| Získanie HTTP cez proxy | Zvolená cesta požiadavky môže vrátiť očakávanú odpoveď. |
V treťom prípade požiadavka potrebuje cieľ, napríklad:
HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal
Názov hostiteľa je len ilustratívny. Použite riadený koncový bod, ktorý proxy dokáže preložiť a na ktorý má zámerne povolený prístup. http-check send v HAProxy umožňuje zvoliť metódu, URI, verziu a hlavičky; nakonfigurujte túto požiadavku explicitne, namiesto toho, aby ste bez zmeny prevzali príklad pôvodného servera.
HEAD dokáže skontrolovať stav odpovede a hlavičky. Nedokáže overiť telo odpovede, ktoré sa nikdy neprenesie. Ak kontrakt stavu vyžaduje značku v tele, zvoľte vhodnú kontrolu GET a overte túto značku.
Keď ide o autentifikáciu proxy, držte kontrolný účet a obmedzenia zdrojov úzke. Vyňatie celého listenera z autentifikácie kvôli zelenej značke mení službu, ktorá sa chráni.
Nakoniec rozhodnite, čo má neúspešná kontrola odstrániť. Riadený výpadok pôvodného servera môže súčasne zraziť kontrolu preposielania u každého proxy. Môže to byť práve tá závislosť, ktorú chcete merať, alebo dôvod držať stav listenera a dostupnosť od konca po koniec ako oddelené signály.