从 NGINX 获取从外部 L4 负载均衡器接收的真实 IP

从 NGINX 获取从外部 L4 负载均衡器接收的真实 IP

当客户使用我们的服务时,网络首先通过我们云提供商的 L4 负载均衡器(除了客户支持之外,我对此没有太多的控制权)。

在我们的服务器中,流量首先到达 NGINX 层(dockerized),然后传递到后端服务。

Nginx 正在接收负载均衡器的 IP。请求中的“X-Forwarded-For”也为空。

如何从Nginx端获取真实客户端IP?

答案1

由于存在 L4 负载均衡器,这意味着负载均衡器会创建到您的 nginx 的 TCP 连接。

TCP 连接唯一可用的信息是另一端的 IP 地址,在您的情况下是负载平衡器。

如果您想要接收实际的客户端 IP 地址,则需要使用反向代理,它会将原始客户端 IP 地址作为标头添加到对原始服务器的请求中。

相关内容