Mun*_*kin 6 load-balancing node.js azure-vm-scale-set
我为节点应用程序使用VM scale集.我的应用程序有一个公共可访问的动作,www.mydomain.com/api/healthcheck并打印一些json.当我配置我的健康探针使用TCP协议时,一切正常,我的api也返回了预期的json(和状态200).但是,当我现在将我的健康探针切换为use HTTP和path =时/api/healthcheck,我的网站不再可访问(ERR_CONNECTION_TIMED_OUT...我想负载均衡器取出所有实例,因为健康探测器告诉他每个实例都不健康)
我在我的节点应用程序前面使用nginx,但我也尝试(测试)配置我的LoadBalancer将端口80路由到backendport 8080(我的节点应用程序在每台机器上运行,所以我可以避免使用nginx代理).但我得到了同样的行为.
我的想法为什么我的自定义健康检查不起作用.希望你能帮忙.
编辑:为了测试,我做了以下事情:
tcpmydoamin.com:3000/hello可用(打印hello并返回200)http-protocol,port 3000和location /hello.我看不到您服务器的代码,因此很难弄清楚。\n如果您共享一些代码,那就更容易了。
\n那么让我们尝试分析一下情况:
\n\n\n与实例的连接已超时
\n
尝试从您的机器终端执行以下命令
\ncurl \xe2\x80\x93I private-IP-address-of-the-instance:port/health-check-target-page\nRun Code Online (Sandbox Code Playgroud)\n现在根据不同的情况,我们有不同的可能原因......
\n问题:实例的安全组正在阻止来自负载均衡器的流量。
\n对实例进行数据包捕获以验证问题。使用以下命令:
\ntcpdump port health-check-port\nRun Code Online (Sandbox Code Playgroud)\n