当 Nginx 位于 HAProxy 后面时如何使用其 limit_conn 和 limit_req 模块

当 Nginx 位于 HAProxy 后面时如何使用其 limit_conn 和 limit_req 模块

我使用limit_conn_zone(with limit_conn) 和limit_req_zone(with limit_req),Nginx其中位于 后面HAProxy。它们都在同一台主机上运行。

我发现每当突破限制Nginx(导致 503 个响应)时,客户端 IP 都是127.0.0.1。这可能是因为唯一连接的客户端实际上是 HAProxy。

这让我怀疑后面模块limit_conn的使用是否有效,因为在我看来,这实际上限制了来自但不是来自实际用户的请求。如果这是真的,我应该如何调整这些设置以适应我的设置?limit_reqHAProxyNginxHAProxy

答案1

我会尝试实时IP模块,但这只是一种理论。

更新。:参见此文负载均衡器背后的 nginx“ 线

相关内容