nginx常用模块
对客户端限制相关配置
限制请求数
场景
秒杀、抢购并发限制,防止攻击
配置
limit_req_zone,用来限制单位时间内的请求数,即速率限制,采用的漏桶算法
|
|
范例
|
|
解释
$binary_remote_addr
变量,可以将每次请求记录的大小减少到64个字节,这样1M的内存可以保存大约1万6千个64字节的记录。如果限制域的存储空间耗尽了(大于10m),对于后续所有请求,服务器都会返回 503 (Service Temporarily Unavailable)错误。
zone=one
表示设置了名为“one”,大小为10兆字节
rate=10r/s
的意思是允许1秒钟不超过10个请求,速度可以设置为每秒处理请求数和每分钟处理请求数,其值必须是整数,所以如果你需要指定每秒处理少于1个的请求,2秒处理一个请求,可以使用 “30r/m”