Un ficheiro chamado /check.txt nun host de proxy parece un obxectivo de saúde obvio. A trampa é que o listener de reenvío explícito de Squid non é un sitio web normal que sirva a raíz de documentos dese host.

Unha petición con estilo de orixe como HEAD /check.txt HTTP/1.1 omite o obxectivo absoluto que se espera para unha petición HTTP normal a través dun proxy de reenvío. Segundo a configuración, pode ser rexeitada ou xestionala outro servizo local. Calquera dos dous resultados pode dicirlle menos do que suxire o panel.

Escolla o servizo que necesita manter dispoñible

ComprobaciónEvidencia útil
Conexión TCP ao listener do proxyUn proceso accesible acepta esa conexión.
CONNECT a un obxectivo controladoO proxy acepta esa petición de túnel.
Recuperación HTTP a través do proxyA ruta de petición escollida pode devolver unha resposta esperada.

Para o terceiro caso, a petición necesita un obxectivo, por exemplo:

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

O nome de host é ilustrativo. Use un punto de conexión controlado que o proxy poida resolver e ao que se lle permita chegar intencionadamente. http-check send de HAProxy admite escoller método, URI, versión e cabeceiras; configure esa petición explicitamente en lugar de herdanza sen cambios dun exemplo de servidor de orixe.

HEAD pode comprobar un estado de resposta e cabeceiras. Non pode validar un corpo de resposta que nunca se transfire. Se o contrato de saúde esixe un marcador no corpo, escolla unha comprobación GET axeitada e valide ese marcador.

Manteña estreitos a conta de comprobación e as restricións de orixe cando haxa autenticación de proxy. Eximir todo o listener da autenticación para obter unha marca verde cambia o servizo que se protexe.

Por último, decida que debe retirar unha comprobación fallida. Unha caída controlada da orixe pode facer fallar á vez a comprobación de reenvío de todos os proxies. Pode ser xustamente a dependencia que quere medir, ou un motivo para manter a saúde do listener e a dispoñibilidade de extremo a extremo como sinais separados.

Artigos relacionados