我爲我的節點應用程序使用了VM標度集。我的應用程序有一個可通過www.mydomain.com/api/healthcheck
訪問的公開操作,並只打印一些json。 當我配置我的健康探測器使用TCP
協議時,一切正常,並且我的api還給我預期的json(和狀態200)。 但是,當我現在切換我的健康探針使用HTTP
和路徑= /api/healthcheck
,我的網站無法訪問了(ERR_CONNECTION_TIMED_OUT
...我想loadbalancer拿出所有實例,因爲健康調查告訴他,每個實例是不健康的)我試過(用於測試)配置我的LoadBalancer來將端口80路由到後端端口8080(我的節點應用程序在每臺機器上運行,因此我可以避免使用nginx代理)。但我得到了同樣的行爲。健康探針將實例標記爲不健康,但不是
我不知道爲什麼我的自定義健康檢查不起作用。希望你能幫助。
編輯: 爲了進行測試,我做了以下內容:
- 運行在每臺虛擬機,這只是輸出 「Hello World」 3000端口其他的NodeJS應用 (不nginx的代理!)
- 創建端口3000 LB規則,還可以配置我的NSG允許:所有
- 在3000年初,我的健康探頭被配置爲使用
tcp
- RESU LT:
mydoamin.com:3000/hello
可用(打印你好並返回200) - 現在配置我的健康探頭使用
http
-protocol,港口3000
和位置/hello
。 - 結果:我的整個Web應用程序不可用了
即使使用端口80,HTTP運行狀況檢查是否失敗?或者僅在使用端口8080時?另外,您的網站是否有可能從http端點重定向到相應的https端點? –
它也在端口80上失敗。是的,有一個重定向到https,但我刪除了這個測試用例的規則,但我又得到了相同的行爲。 – Munchkin