Nginx流量限制

Nginx流量限制可以有效防止DDOS攻击,降低服务器负载,缓解硬件和网络压力,功能依赖于limit_req模块,这个模块现版本都是默认集成的,所以不用单独编译安装。

转载资料:

关于limit_req和limit_conn的区别:https://www.cnblogs.com/zhoulujun/p/12183179.html

Nginx限制访问速率和最大并发连接数模块说明:https://www.cnblogs.com/wjoyxt/p/6128183.html

Nginx下limit_req模块burst参数超详细解析:https://blog.csdn.net/hellow__world/article/details/78658041

关于limit_req和limit_conn的区别
what is the difference between connection and request?

Nginx限流配置–limit_req和limit_conn (防范DDOS攻击)
https://www.cnblogs.com/andrew-303/p/12272099.html

connection是连接,即常说的tcp连接,通过三次握手而建立的一个完整状态机。建立一个连接,必须得要三次握手。
request是指请求,即http请求,tcp连接是有状态的,而构建在tcp之上的http却是无状态的协议
通过打开一个网页,然后通过wareshark可以看到,一个连接建立后(即三次握手后),在这个连接断开之前(即四次挥手之前),会有很多的http request,这就是他们的区别:即一个连接的生命周期中,会存在一个或者多个请求,这是为了加快效率,避免每次请求都要三次握手建立连接,现在的HTTP/1.1协议都支持这种特性,叫做keepalive。

limit_conn_zone $binanry_remote_addr zone=conn_zone:1m;

limit_conn conn_zone 1;  

这样的配配置,表明以ip为key,来限制每个ip访问lmit.html文件时候,最多只能有一个在线,否则其余的都要返回不可用。

这种情况就是一个静止状态的计数可以实现,而无关乎多长时间。

举个例子,如果你的这个连接一直不释放,即使你通过这一个连接发送出再多的request请求,只要我能够应付,那么我就帮你处理。

但是,如果你只需要处理2个请求,但是这两个请求是分别用两个连接同时发送过来的,那么,我就只能处理其中一个,另外一个就不行。这就是他的区别。

limit_req_zone $binary_remtoe_addr zone
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值