我正在配置 nginx 进行基本的 DDoS 防护。我想使用http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html中所述的 limit_conn 模块。我特别不明白这个例子:
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server {
...
limit_conn perip 10;
limit_conn perserver 100;
}
Run Code Online (Sandbox Code Playgroud)
描述是:
例如,以下配置将限制每个客户端IP与服务器的连接数,同时限制与虚拟主机的总连接数
第一部分很清楚,我允许来自一个 IP 的同时连接不超过 10 个。
但第二条规则是否意味着我只允许 100 个连接到我的服务器?因为如果是这样,攻击者只需打开约 100 个连接,就会阻止每个人访问服务器,从而有效地使 DDoS 攻击成功。
小智 8
是的,第二条规则意味着您将允许不超过 100 个同时连接到该特定域。但是,考虑到每个 ip 的最大连接数也受到限制,攻击者将需要使用不同的 ip 才能成功进行攻击。
我必须补充一点,limit_conn 只是缓解攻击的一种方法,但不足以缓解真正的 DDoS 攻击。
您可能想查看这些 nginx 指令:limit_req、limit_rate、client_body_timeout、client_header_timeout。
本文将向您展示,为了减轻 DDoS 攻击,还有更多工作要做: https://www.nginx.com/blog/mitigating-ddos-attacks-with-nginx-and-nginx-plus/
另外,本文还将向您介绍一些配置技巧: https://www.nginx.com/blog/tuning-nginx/
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
9767 次 |
| 最近记录: |