Nginx:限制每个IP到后端的同时连接数

时间:2013-07-08 10:03:35

标签: nginx

我们将nginx与应用程序服务器一起用作后端。

我们需要限制每个IP到后端的并发连接数。为此,我们使用了limit_conn nginx指令。但它并不适用于所有情况。 如果用户从一个IP生成大量连接并快速关闭它们,那么nginx会将此请求传递给后端,但由于客户端连接已关闭,因此limit_conn中不会计算此连接。

是否可以使用nginx限制每个IP到后端服务器的同时连接数?

2 个答案:

答案 0 :(得分:3)

您可能想要设置

proxy_ignore_client_abort off;
  

确定是否应关闭与代理服务器的连接   客户端关闭连接而不等待响应。

来自documentation

另一个建议是使用limit_req来限制请求率。

答案 1 :(得分:0)

我担心这个设施还没有开箱即用的nginx。根据{{​​3}}

  

许多用户要求Nginx在加载中实现一项功能   平衡器,以限制每个后端的请求数(通常为一个)。   虽然计划对此提供支持,但值得一提的是需求   因为这个功能根植于不良行为   申请被代理

我已经看到了Nginx FAQ的第三方模块,但我从未尝试过。