HAProxy provjere stanja za Squid proxy koji prosljeđuje
Izgradite HAProxy provjeru stanja koja razgovara s proxyjem koji prosljeđuje i razlikujte dostupnost osluškivača, prihvatanje CONNECT i dohvat s izvora.
Datoteka nazvana /check.txt na proxy hostu zvuči kao očigledna meta za provjeru stanja. Kvaka je u tome što Squidov eksplicitni osluškivač za prosljeđivanje nije obično web mjesto koje poslužuje korijen dokumenata tog hosta.
Zahtjev u stilu izvora, poput HEAD /check.txt HTTP/1.1, izostavlja apsolutnu metu koja se očekuje za običan HTTP zahtjev kroz proxy koji prosljeđuje. Ovisno o konfiguraciji, može biti odbijen ili ga može obraditi druga lokalna usluga. Oba ishoda mogu vam reći manje nego što nadzorna ploča sugerira.
Odaberite uslugu koju trebate držati dostupnom
| Provjera | Koristan dokaz |
|---|---|
| TCP veza s osluškivačem proxyja | Dostupan proces prihvata tu vezu. |
| CONNECT na kontroliranu metu | Proxy prihvata taj zahtjev za tunel. |
| HTTP dohvat kroz proxy | Odabrana putanja zahtjeva može vratiti očekivani odgovor. |
Za treći slučaj zahtjevu treba meta, na primjer:
HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal
Ime hosta je samo ilustracija. Koristite kontroliranu krajnju točku koju proxy može razriješiti i kojoj mu je namjerno dopušten pristup. HAProxyjev http-check send podržava odabir metode, URI-ja, verzije i zaglavlja; konfigurirajte taj zahtjev izričito umjesto da nepromijenjen naslijedite primjer izvornog poslužitelja.
HEAD može provjeriti status odgovora i zaglavlja. Ne može provjeriti tijelo odgovora koje se nikada ne prenosi. Ako ugovor o stanju zahtijeva oznaku u tijelu, odaberite prikladnu GET provjeru i provjerite tu oznaku.
Držite račun za provjeru i ograničenja izvora uskima kad je uključena autentifikacija proxyja. Izuzeće cijelog osluškivača od autentifikacije radi zelene kvačice mijenja uslugu koja se štiti.
Na kraju odlučite što neuspjela provjera treba ukloniti. Kontrolirani prekid izvora može istovremeno oboriti provjeru prosljeđivanja svakog proxyja. To može biti upravo ovisnost koju želite mjeriti ili razlog da stanje osluškivača i dostupnost od kraja do kraja držite odvojenim signalima.