0
点赞
收藏
分享

微信扫一扫

Nginx基础篇(20)请求频率限制

大柚子top 2022-06-06 阅读 63

模块:ngx_http_limit_req_module

测试未限制情况下的访问

yum install -y httpd-tools
ab -n 100 -c 10 http://a.com/

Nginx基础篇(20)请求频率限制_nginx


启动限制

定义
vim /etc/nginx/nginx.conf
http {
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s; 定义
#限制请求 二进制地址 限制策略的名 占用10M空间 允许每秒1次请求


引用
vim /etc/nginx/conf.d/a.conf
location / {
limit_req zone=req_zone;
#limit_req zone=req_zone burst=5;
#limit_req zone=req_zone burst=5 nodelay;
}

  • 引用限制
  • 引用限制,但是令牌桶有5个。有延迟。速度慢
  • 引用限制,但是令牌桶有5个。无延迟。速度快

burst=5 表示最大延迟请求数量不大于5。 如果太过多的请求被限制延迟是不需要的 ,这时需要使用nodelay参数,服务器会立刻返回503状态码。 


重启服务,并测试

Nginx基础篇(20)请求频率限制_nginx_02

日志文件

2022/06/06 23:27:29 [error] 95269#95269: *98 limiting requests, excess: 0.990 by zone "req_zone", client: 192.168.19.100, server: a.com, request: "GET / HTTP/1.0", host: "a.com"
2022/06/06 23:27:29 [error] 95268#95268: *100 limiting requests, excess: 0.990 by zone "req_zone", client: 192.168.19.100, server: a.com, request: "GET / HTTP/1.0", host: "a.com"

 limiting requests 限制请求导致

举报

相关推荐

0 条评论