AWS ELB使用nginx和TCP时的健康检查

我有一个elasticbeanstalk环境,它使用nginx作为node.js应用程序的前端服务器。

该环境使用configuration为接受TCP:80 / SSL:443上的连接的弹性负载均衡器,并将其同时转发到TCP:8080上的nginx实例。 我正在使用TCP / SSL + ProxyProtocol而不是HTTP / HTTPS来支持websocket。

在使用TCP时,AWS ELB不允许使用URL来从负载均衡器进行运行状况检查。 我需要使用一个,否则它只检查nginx是否正在侦听8080,而不是如果我的node.js应用程序正在运行。

我正在寻找想法来使其工作。 目标是获取我的node.js应用程序运行状况检查URL,如果运行状况检查URL状态不是200,则使AWS ELB将实例标记为不健康。

我目前的想法是尝试搭乘nginx的健康检查支持,所以它违背nodejs,如果它检测到应用程序不健康停止听8080连接,所以ELB将标记为不健康的实例。 也许在nginx检测到健康/不健康的实例时运行一个命令就足够了。

那可能吗? 任何其他的想法?

负载均衡器运行状况检查configuration独立于侦听器端点configuration,因此您可以使用HTTP:8080/index.htmlconfiguration负载均衡器运行状况检查而不会出现问题。

不知道我在想什么