Tag: azure vm scale set

健康探针将实例标记为不健康,但不是

我为我的节点应用程序使用了一个VM规模集。 我的应用程序有一个可通过www.mydomain.com/api/healthcheck访问的操作,并只打印一些json。 当我configuration我的健康探测器使用TCP协议时,一切工作正常,也是我的api返回给我预期的JSON(和状态200)。 但是,当我现在切换我的健康探测使用HTTP和path= /api/healthcheck ,我的网站不能访问了( ERR_CONNECTION_TIMED_OUT …我想loadbalancer拿出所有实例,因为健康探测告诉他,每个实例不良) 我在我的节点应用程序前面使用nginx,但我也尝试(testing)configuration我的LoadBalancer路由端口80到后端口8080(我的节点应用程序在每台机器上运行,所以我可以避免nginx代理)。 但是我得到了同样的行为。 我不知道为什么我的自定义健康检查不起作用。 希望你能帮忙。 编辑:为了testing,我做了以下: 在每个虚拟机上运行3000端口上的另一个nodejs应用程序,这只是打印“hello world”(没有nginx代理!) 创build一个端口3000的LB规则,并configuration我的NSG允许:3000 在开始时,我的健康探针被configuration为使用tcp 结果: mydoamin.com:3000/hello : mydoamin.com:3000/hello hello可用(打印你好,并返回200) 现在我configuration我的健康探测器使用http协议,端口3000和位置/hello 。 结果:我的整个networking应用程序不再可用