Düğüm uygulamam için bir VM ölçek kümesi kullanıyorum. Uygulamamın www.mydomain.com/api/healthcheck
aracılığıyla herkese açık bir eylemi var ve yalnızca bazı jsonları yazdırıyor. TCP
protokolünü kullanmak için sağlık probu yapılandırdığımda, her şey iyi çalışıyor ve benim api bana beklenen jsonu (ve durum 200) döndürüyor. Ancak, şimdi HTTP
ve path = /api/healthcheck
kullanmak için sağlık soruşturmamı değiştirdiğimde, web sitem artık erişilebilir değil (ERR_CONNECTION_TIMED_OUT
... Sanırım yükleyici herhangi bir sağlıksız olduğunu söyler çünkü sağlık soruşturma her örneği alır sanırım)Sağlık probu örnekleri sağlıksız olarak işaretler ancak
Düğüm uygulamamın önünde nginx kullanıyorum, ancak LoadBalancer'ı 80 numaralı bağlantı noktası 8080'e yönlendirmek için de (test için) denedim (burada benim düğüm uygulamam her makinede çalışıyor, bu yüzden nginx proxy'den kaçınabiliyorum)). Ama aynı davranışı alıyorum.
Özel sağlık kontrolümün neden çalışmadığı konusunda fikrim yok. Umarım yardım edebilirsin.
Düzenleme: Test için yaptım şu:
- vadede her VM, sadece baskılar "merhaba dünya" konulu port 3000 tarihinde başka nodejs uygulaması (olmadan nginx vekil!)
- port 3000 için LB kural oluşturmak ve ayrıca izin benim Nsg yapılandırın: başında tüm
- için 3000, sağlığım sonda
tcp
- resu kullanacak şekilde yapılandırılır lt:
mydoamin.com:3000/hello
mevcut (baskılar merhaba ve 200 döner) 'dir - şimdi benim sağlık prob
http
-Protokolü, liman3000
ve konumu/hello
kullanmak üzere yapılandırın. - sonucu: benim bütün web uygulaması artık
HTTP sağlık denetimi 80 numaralı bağlantı noktasını kullanarak da başarısız oluyor mu? Veya sadece 8080 portunu kullanırken mi? Ayrıca, sitenizin http uç noktasından eşdeğer https son noktaya yönlendirmesi mümkün mü? –
Ayrıca 80 numaralı bağlantı noktasında da başarısız oluyor. Evet, https için bir yönlendirme oldu, ancak bu kuralı sınama durumları için sildim ama yine aynı davranışı alıyorum. – Munchkin