Comprovacions de salut d'HAProxy per a un proxy de reenviament Squid
Construïu una comprovació de salut d'HAProxy que parli amb un proxy de reenviament i distingiu l'abast del listener, l'acceptació de CONNECT i la recuperació des de l'origen.
Un fitxer anomenat /check.txt en un host de proxy sembla un objectiu de salut evident. La trampa és que el listener explícit de reenviament de Squid no és un lloc web corrent que serveixi l'arrel de documents d'aquest host.
Una petició a l'estil d'origen com HEAD /check.txt HTTP/1.1 omet l'objectiu absolut que s'espera per a una petició HTTP ordinària a través d'un proxy de reenviament. Segons la configuració, pot ser rebutjada o gestionada per un altre servei local. Tots dos resultats poden dir-vos menys del que suggereix el tauler.
Trieu el servei que necessiteu mantenir disponible
| Comprovació | Evidència útil |
|---|---|
| Connexió TCP al listener del proxy | Un procés abastable accepta aquesta connexió. |
| CONNECT a un objectiu controlat | El proxy accepta aquesta petició de túnel. |
| Recuperació HTTP a través del proxy | El camí de petició triat pot retornar una resposta esperada. |
Per al tercer cas, la petició necessita un objectiu, per exemple:
HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal
El nom d'host és il·lustratiu. Feu servir un punt final controlat que el proxy pugui resoldre i al qual se li permeti arribar intencionadament. El http-check send d'HAProxy admet triar el mètode, l'URI, la versió i les capçaleres; configureu aquesta petició explícitament en lloc d'heretar sense canvis un exemple de servidor d'origen.
HEAD pot comprovar l'estat i les capçaleres d'una resposta. No pot validar un cos de resposta que mai no es transfereix. Si el contracte de salut requereix un marcador al cos, trieu una comprovació GET adequada i valideu aquest marcador.
Manteniu estrets el compte de comprovació i les restriccions d'origen quan hi hagi autenticació de proxy. Exemptar tot el listener d'autenticació per obtenir una marca verda canvia el servei que es protegeix.
Finalment, decidiu què ha de retirar una comprovació fallida. Una caiguda controlada de l'origen pot fer fallar alhora la comprovació de reenviament de tots els proxys. Pot ser exactament la dependència que voleu mesurar, o un motiu per mantenir la salut del listener i la disponibilitat d'extrem a extrem com a senyals separats.