En fil som heter /check.txt på en proxyvert høres ut som et opplagt helsemål. Haken er at Squids eksplisitte videresendingslytter ikke er et vanlig nettsted som serverer dokumentroten til den verten.

En forespørsel i origin-stil som HEAD /check.txt HTTP/1.1 utelater det absolutte målet som forventes for en vanlig HTTP-forespørsel gjennom en videresendingsproxy. Avhengig av konfigurasjonen kan den bli avvist eller håndtert av en annen lokal tjeneste. Begge utfallene kan fortelle deg mindre enn dashbordet antyder.

Velg tjenesten du må holde tilgjengelig

SjekkNyttig bevis
TCP-tilkobling til proxylytterenEn tilgjengelig prosess godtar den tilkoblingen.
CONNECT til et kontrollert målProxyen godtar den tunnelanmodningen.
HTTP-henting gjennom proxyenDen valgte forespørselsbanen kan returnere et forventet svar.

I det tredje tilfellet trenger forespørselen et mål, for eksempel:

HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal

Vertsnavnet er bare illustrativt. Bruk et kontrollert endepunkt som proxyen kan slå opp og bevisst har lov til å nå. HAProxys http-check send støtter valg av metode, URI, versjon og headere; konfigurer den forespørselen eksplisitt i stedet for å arve et origin-server-eksempel uendret.

HEAD kan sjekke en svartilstand og headere. Det kan ikke validere en svartekst som aldri overføres. Hvis helsekontrakten krever en markør i teksten, velg en passende GET-sjekk og valider den markøren.

Hold sjekkkontoen og kildebegrensningene stramme når proxyautentisering er involvert. Å frita hele lytteren fra autentisering for å få en grønn hake endrer tjenesten som beskyttes.

Til slutt, avgjør hva en mislykket sjekk skal fjerne. Et kontrollert origin-avbrudd kan få videresendingssjekken til hver proxy til å feile samtidig. Det kan være nettopp avhengigheten du vil måle, eller en grunn til å holde lytterhelse og ende-til-ende-tilgjengelighet som separate signaler.

Relaterte artikler