如何限制每个IP的HTTP / 2连接?

时间:2015-11-01 02:49:01

标签: nginx

来自ngx_http_limit_conn_module的documentation

  

在HTTP / 2和SPDY中,每个并发请求都被视为一个单独的连接。

是否存在限制HTTP / 2连接的方式,而不是请求?

此外,这是不是意味着攻击者可以建立任意数量的并发连接?

1 个答案:

答案 0 :(得分:0)

我不知道如何使用NGINX精确地做到这一点(即使使用limit_conn),但您可能会使用ConfigServer Firewall或类似的,对吗?

Firefox默认情况下每个连接发出32个请求(请参阅:about:config - > network.http.pipelining),因此我设置CT_LIMITS =" 100",CT_INTERVAL =&#34 ; 20",CT_PORTS =" 80,443"。为什么呢?

很简单,如果一个网站通常有200个请求(根据经验猜测),每次访问你有~8个连接(安全性为200/32 + 2)。因此,单个访问者可以访问网站的10倍以上,并且不会被阻止,这是一个非常合理的限制。更重要的是,它被认为是DoS。

顺便说一下,你可以使用限制为45秒/秒和80秒突发的http_limit_req_module,它不会导致503错误并阻止一些小的L7洪水,我可以向你保证。

不要忘记使用真正的DDoS防护,因为软件防火墙和网络服务器无法处理大型DDoS攻击。