【发布时间】:2018-01-16 04:08:27
【问题描述】:
我有一个使用 Express 框架的 NodeJS API。
我使用 Nginx 在我的 NodeJS 实例之间进行负载平衡。我使用 PM2 来生成 NodeJS 实例。
我在日志中发现 Ngnix 发出了一些“虚拟/内部”请求,可能是为了确定实例是否开启(心跳请求可能是此请求的适当名称)。
我的问题是:在我的 API 上识别这些“虚拟/内部”请求的正确方法是什么?
【问题讨论】:
我有一个使用 Express 框架的 NodeJS API。
我使用 Nginx 在我的 NodeJS 实例之间进行负载平衡。我使用 PM2 来生成 NodeJS 实例。
我在日志中发现 Ngnix 发出了一些“虚拟/内部”请求,可能是为了确定实例是否开启(心跳请求可能是此请求的适当名称)。
我的问题是:在我的 API 上识别这些“虚拟/内部”请求的正确方法是什么?
【问题讨论】:
我相当肯定 nginx 只对上游服务器使用被动健康检查。换句话说——因为假设所有 HTTP 请求都会产生响应,所以 nginx 会说“如果我向这个服务器发送一堆请求并且没有得到响应,我会认为服务器不健康”。
你能分享一些你看到的请求的访问日志吗?
据我所知,nginx不会向上游服务器发送任何最终不是由客户端发起的请求。
【讨论】: