问答一下,轻松解决,电脑应用解决专家!
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win10/Win11
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascriptLinux系统
PHP教程CSS教程XML教程

Nginx中IP限速和Session限速配置说明

更新时间:2021-07-23 22:17 作者:CHQIUU点击:

Nginx官方版本限制IP的连接和并发分别有两个模块:

limit_req_zone ⽤来限制单位时间内的请求数,即速率限制。

limit_req_conn ⽤来限制同⼀时间连接数,即并发限制。

http {
    ...
    
    limit_req_zone $binary_remote_addr zone=baism:10m rate=1r/s; 
    # 第⼀个参数:$binary_remote_addr 表示通过remote_addr这个标识来做限制,“binary_”的⽬的是缩写内存占⽤量,是限制同⼀客户端ip地址。
    # 第⼆个参数:zone=baism:10m表示⽣成⼀个⼤⼩为10M,名字为one的内存区域,⽤来存储访问的频次信息。
    # 第三个参数:rate=1r/s表示允许相同标识的客户端的访问频次,这⾥限制的是每秒1次,还可以有⽐如30r/m的。
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    server {
       ...
	   location /abc {
	       limit_req zone=baism burst=5 nodelay;
	       # 第⼀个参数:zone=baism 设置使⽤哪个配置区域来做限制,与上⾯limit_req_zone ⾥的name对应。
         # 第⼆个参数:burst=5,重点说明⼀下这个配置,burst爆发的意思,这个配置的意思是设置⼀个⼤⼩为5的缓冲区当有⼤量请求(爆发)过来时,超过了访问频次限制的请求可以先放到这个缓冲区内。
         # 第三个参数:nodelay,如果设置,超过访问频次⽽且缓冲区也满了的时候就会直接返回503,如果没有设置,则所有请求会等待排队。
         limit_conn addr 1; # 只能同时建立一个链接
         limit_rate 100k; # 最大传输速率
         limit_rate_after 250m; # 超过250m限制传输速率
        }
    }
}
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容