nginx带宽限制 limit_rate limit_rate_after指令

 更新时间:2023年04月10日 15:38:32   作者:黄娟  
这篇文章主要为大家介绍了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 的语法和示例:

Syntax:	limit_rate_after size;
Default:	
limit_rate_after 0;
Context:	http, server, location, if in location
limit_rate_after 50m;

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

limit_rate 指令

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

以下是 limit_rate 的语法和示例:

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

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

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

实验

配置传输速度为 1k

  • nginx配置
location / {
	limit_rate 1k;
	root html;
}

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

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

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

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

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

我遇到的坑

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

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

总结

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带宽限制指令的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:

相关文章

  • Nginx隐藏和伪造版本号的操作方法

    Nginx隐藏和伪造版本号的操作方法

    这篇文章主要介绍了Nginx隐藏和伪造版本号的操作方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Nginx配置SSL自签名证书的方法

    Nginx配置SSL自签名证书的方法

    这篇文章主要介绍了Nginx配置SSL自签名证书的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)

    Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)

    这篇文章主要介绍了Nginx配置SSL证书部署HTTPS网站的方法(颁发证书),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Nginx部署SSL证书的过程

    Nginx部署SSL证书的过程

    SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本,这篇文章主要介绍了Nginx部署SSL证书的相关知识,需要的朋友可以参考下
    2022-10-10
  • nginx反向代理之多端口映射的实现

    nginx反向代理之多端口映射的实现

    这篇文章主要介绍了nginx反向代理之多端口映射的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Nginx基础入门之gzip配置指南

    Nginx基础入门之gzip配置指南

    众所周知随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,所以下面这篇文章主要给大家介绍了关于Nginx基础入门之gzip配置的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • Nginx配置编写时支持逻辑运算与大小写字母转换的方法

    Nginx配置编写时支持逻辑运算与大小写字母转换的方法

    这篇文章主要介绍了Nginx配置编写时支持逻辑运算与大小写字母转换的方法,其中大小写字母转换是以lower upper case模块来实现,需要的朋友可以参考下
    2016-01-01
  • nginx镜像构建的知识点及方法步骤详解

    nginx镜像构建的知识点及方法步骤详解

    这篇文章主要为大家介绍了nginx镜像构建的知识点详解,<BR>有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • nginx php-fpm环境中chroot功能的配置使用方法

    nginx php-fpm环境中chroot功能的配置使用方法

    这篇文章主要介绍了nginx php-fpm环境中chroot功能的配置使用方法,此方法是比禁用PHP敏感函数更好的一个安全防护手手段,需要的朋友可以参考下
    2014-05-05
  • nginx location优先级的深入讲解

    nginx location优先级的深入讲解

    这篇文章主要给大家介绍了关于nginx location优先级的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论