如何在 NGINX Web 服务器中限制网络带宽 - Part 3

本文是关于如何在NGINX中限制网络带宽的教程,讲解了如何使用`limit_rate`指令限制响应传输速率,以及如何结合`limit_conn`限制每个客户端的连接数,以防止DoS攻击。此外,还介绍了如何动态地根据特定条件,如TLS版本,来调整带宽限制策略。
摘要由CSDN通过智能技术生成

之前,在我们的NGINX流量管理和安全控制系列中,我们讨论了如何使用客户端标识参数(例如 IP 地址)来限制同一客户端可以与您的 Web 资源建立的连接数。我们还介绍了如何限制Web 资源的请求速率(限制客户端可以发出请求的速率)。

为确保您的应用程序使用带宽不被单个客户端占用,您需要控制每个客户端的上传和下载速度。这是一种常见的NGINX安全控制措施,可抵御来自试图滥用站点性能的恶意用户的DoS(拒绝服务)攻击。

在本系列的第三部分中,我们将解释如何限制NGINX Web 服务器中的网络带宽。

NGINX 中的带宽限制

要限制 NGINX 中的带宽,请使用limit_rate指令来限制响应传输到客户端的速率。它在位置块中的HTTP、server、location和if 语句中有效,并且默认情况下以每秒字节数为单位指定给定上下文的速率限制,也可以使用m表示兆字节或g表示千兆字节。

limit_rate 20k;

另一个相关指令是limit_rate_after,它指定在传输指定数量的数据之前,不应限制连接的速率。该指令可以在 HTTP、服务器、位置和“位置块内的 if 语句”中设置。

limit_rate_after 500k;

下面是一个示例配置,用于限制客户端通过单个连接以每秒 20 KB 的最大速度下载内容。

upstream api_service {
   
    server 10.1.1.10:9051;
    server 10.1.1.77:9052;
}

server {
   
    listen 80;
    server_name testapp.tecmint.com;
    root /var/www/html/testapp.tecmint.com/build;
    index index.html;

    location / {
   
        try_files $uri $uri/ /index.html =404 =403 =500;
    }
    location /api {
   
        proxy_pass http://api_service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值