J'utilise un ensemble d'échelles VM pour mon application de noeud. Mon application a une action qui est accessible au public via www.mydomain.com/api/healthcheck
et imprime juste un certain json. Lorsque je configure ma sonde de santé pour utiliser le protocole TCP
, tout fonctionne correctement et mon API me renvoie le json attendu (et le statut 200). Cependant, lorsque je passe maintenant ma sonde de santé pour utiliser HTTP
et path = /api/healthcheck
, mon site web n'est plus accessible (ERR_CONNECTION_TIMED_OUT
... Je suppose que le loadbalancer supprime toutes les instances car la sonde de santé lui dit que chaque instance est malsaine) J'utilise nginx en face de mon application de noeud, mais j'ai également essayé (pour tester) de configurer mon LoadBalancer pour router le port 80 vers backendport 8080 (où mon application de noeud tourne sur chaque machine, donc je peux éviter le proxy nginx). Mais j'ai le même comportement.La sonde de santé marque les instances comme malsaines mais les ne le sont pas
Je n'arrive pas à comprendre pourquoi mon bilan de santé personnalisé ne fonctionne pas. J'espère que vous pouvez aider.
Edit: Pour les tests, je ne les éléments suivants:
- exécuter une autre app nodejs sur le port 3000 sur chaque machine virtuelle, qui écrit seulement "Bonjour tout le monde" (sans proxy nginx!)
- créer une règle LB pour le port 3000 et également configurer mon NSG pour permettre: 3000 pour tous
- au début, ma sonde de santé est configuré pour utiliser
tcp
- rESU lt:
mydoamin.com:3000/hello
est disponible (impression bonjour et retourne 200) - maintenant je configure ma sonde de santé à utiliser
http
-protocol, le port et l'emplacement3000
/hello
. - résultat: mon application web tout n'est plus disponible
La vérification d'intégrité HTTP échoue-t-elle même en utilisant le port 80? Ou seulement en utilisant le port 8080? En outre, est-il possible que votre site ait une redirection du point de terminaison http vers le point de terminaison https équivalent? –
Il échoue également sur le port 80. Oui, il y avait une redirection vers https mais j'ai supprimé cette règle pour les cas de test, mais encore une fois je reçois le même comportement. – Munchkin