服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - nginx带宽限制 limit_rate limit_rate_after指令

nginx带宽限制 limit_rate limit_rate_after指令

2023-04-12 15:04黄娟 Nginx

这篇文章主要为大家介绍了nginx带宽限制 limit_rate limit_rate_after指令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

知识梳理

在高负载的网络环境下,为了保持服务的稳定性,限速 (download rate) 是一种必要的控制访问量的手段。Nginx 是一款高性能的 Web 服务器和反向代理服务器,可以使用 limit_rate_after 和 limit_rate 两个主要指令来完成流量控制和限速。

limit_rate_after 指令

指令 limit_rate_after 会在客户端成功建立连接之后,指定的大小后开始限制发送速度。这个指令的含义就是在连接建立后的 limit_rate_after 大小之后,数据发送速率将被限制。

以下是limit_rate_after 的语法和示例:

?
1
2
3
4
Syntax: limit_rate_after size;
Default:   
limit_rate_after 0;
Context:    http, server, location, if in location
?
1
limit_rate_after 50m;

这个指令可以帮助您限制连接的初始流量,以便于服务器的带宽资源分配更为合理。

limit_rate 指令

limit_rate 指令是用来控制发送至客户端的数据传输速度的,它可以限制整个连接的流量,也可以限制单个客户端访问速度。

以下是 limit_rate 的语法和示例:

?
1
2
3
syntax:     limit_rate rate;
default:    —
context:    http, server, location
?
1
limit_rate 1k;

这个配置的作用是:在与客户端建立连接之后的 10 秒内,限制每秒发送的数据量不超过 50kB;之后如果连接仍然打开,则限制与该客户端的速率为 50kB/s。

需要提醒的一点是,尽管 limit_rate 可以一定程度上保护服务器资源,但是并不足以完全阻止恶意饱和攻击。因此,在考虑流量控制和限速的同时,还应该结合其他安全和防护机制来更好地保护服务器。

实验

配置传输速度为 1k

  • nginx配置
?
1
2
3
4
location / {
    limit_rate 1k;
    root html;
}

nginx带宽限制 limit_rate limit_rate_after指令

在浏览器输入 http://192.168.91.134/portal.tar 下载 portal.tar 文件 可以看到下载速度在 1k 以内

nginx带宽限制 limit_rate limit_rate_after指令

配置下载50m后开始限制传输速度

  • nginx配置
?
1
2
3
4
5
location / {
    limit_rate_after 50m;
    limit_rate 1k;
    root html;
}
  • 在浏览器输入 http://192.168.91.134/portal.tar 下载 portal.tar 文件

可以看到开始下载速度很快

nginx带宽限制 limit_rate limit_rate_after指令

在下载50m后,速度限制在1k以内

nginx带宽限制 limit_rate limit_rate_after指令

我遇到的坑

  • 访问http://192.168.91.134/portal.tar报403

因为我的portal.tar文件没有读的权限,导致浏览器下载报403,使用 chmod 755 portal.tar 修改portal.tar文件的权限,如下图:

nginx带宽限制 limit_rate limit_rate_after指令

总结

Nginx 的限速功能对于控制访问量、防止恶意攻击具有很高的研究价值和实际意义。limit_rate 和 limit_rate_after 是 Nginx 常见的两个限速指令,它们可以配置在 http、server、location 等区块中,实现不同级别的流量限制和控制。一般情况下为了取得更好的限速效果,我们会同时使用两个指令,通过多事件流的限速进行灵活的控制。

希望这篇文章能够对 Nginx 限速功能有更深入的理解,帮助开发者在实际的生产环境中使用它来进行更好的流量控制和管理。

参考

nginx.org/en/docs/htt…

nginx.org/en/docs/htt…

以上就是nginx带宽限制 limit_rate limit_rate_after指令的详细内容,更多关于nginx带宽限制指令的资料请关注服务器之家其它相关文章!

原文链接:https://juejin.cn/post/7219889814115811388

延伸 · 阅读

精彩推荐
  • NginxNginx的一些常用配置汇总

    Nginx的一些常用配置汇总

    nginx配置说简单也简单,说复杂也复杂,入门简单,精通难,下面这篇文章主要给大家介绍了关于Nginx的一些常用配置,文中通过实例代码介绍的非常详细,需要的朋...

    小懒编程日记9202022-08-08
  • Nginxnginx搭建NFS服务器的方法步骤

    nginx搭建NFS服务器的方法步骤

    本文主要介绍了nginx搭建NFS服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    yutao_5178782022-08-05
  • NginxNginx中rewrite(地址重定向)的深入剖析

    Nginx中rewrite(地址重定向)的深入剖析

    Rewrite主要实现url地址重写,以及url地址跳转,下面这篇文章主要给大家介绍了关于Nginx中rewrite(地址重定向)的深入剖析,文中通过实例代码介绍的非常详细,需要...

    阁下何不踏风起9432022-10-09
  • NginxNginx Tomcat负载均衡动静分离原理解析

    Nginx Tomcat负载均衡动静分离原理解析

    这篇文章主要为大家介绍了Nginx Tomcat负载均衡动静分离原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    黑珍珠号的杰克11312022-10-21
  • NginxNginx服务器中HTTP 301跳转到带www的域名的方法

    Nginx服务器中HTTP 301跳转到带www的域名的方法

    这篇文章主要介绍了Nginx服务器中HTTP 301跳转到带www的域名的方法,包括从HTTPS 301提示跳转等rewrite相关的方法,需要的朋友可以参考下 ...

    goldensun4782019-10-30
  • NginxNginx服务器安装SSL证书方法教程

    Nginx服务器安装SSL证书方法教程

    本文为大家讲解Nginx服务器安装SSL证书方法,有需要的朋友可以参考下...

    互联网7362020-10-09
  • NginxNginx的优化、安全与防盗链实例详解

    Nginx的优化、安全与防盗链实例详解

    防止盗链不仅能保护版权,又节约了不少流量,下面这篇文章主要给大家介绍了关于Nginx优化、安全与防盗链的相关资料,文中通过图文以及实例代码介绍的非...

    站在这别动,我去给你买11122022-10-09
  • NginxNginx自定义访问日志的配置方式

    Nginx自定义访问日志的配置方式

    Nginx日志主要分为两种:访问日志和错误日志。访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。下面这篇文章主要给大家介绍了Nginx自定...

    daisy3382019-11-26