2024年12月31日 建站教程
Nginx可以通过limit_req
模块限制客户端的请求速率。该模块允许设置限制请求的次数和时间段,可以有效防止恶意请求使服务器过载。
配置代码如下:
# 限速区域,10秒内最多60个请求 limit_req_zone $binary_remote_addr zone=limit_req:10m rate=60r/s; server { ... # 开启限速,引用limit_req区域,只能在1秒内超过6个请求 location /search/ { limit_req zone=limit_req burst=6 nodelay; } }
参数介绍如下:
limit_req_zone指令用于定义限速区域。
1、$binary_remote_addr:限制键,一般为客户端IP; 2、zone:区域名和内存大小; 3、rate:速率,格式为rate=req/time
例如rate=10r/m
表示每分钟10个请求
limit_req指令用于在location中开启限速。
1、zone:引用的限速区域名 2、burst:超出速率许可的短时间内最大请求数,默认值为zone定义的rate值 3、nodelay:不延迟,超过速率直接返回503错误
本文链接:http://so.lmcjl.com/news/20446/