openresty 限流 (redis+lua) 备忘

githunb上下载lua-resty-limit-traffic 

解压到/usr/openv/servers/lualib/restylimit目录下。 servers 为openresty安装目录.

/usr/openv/servers/nginx/conf/lua目录

新建limit.lua  

local limit_req = require "resty.limit.req"
   local redis = require "resty.redis"
   local instance = redis.new();
    instance.connect(instance,'127.0.0.1','6379')
   local rate =tonumber(instance:get("limitrate"))
    local burst =tonumber(instance:get("limitburst"))
    --local rate=3 这里如果不用redis 可以直接使用rate=3进行赋值
    --local burst =10
    local error_status = 503
   local nodelay = false
   local lim, err = limit_req.new("limit_req_store", rate, burst)
  if not lim then
       ngx.exit(error_status)
   end
   
   local key = ngx.var.binary_remote_addr
  
   local delay, err = lim:incoming(key, true)
   
   if not
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值