服务器访问频率限制和IP限制

2019-10-04  本文已影响0人  莫夏_b560

1、定义限制请求域
rate limit首先要定义一个或多个zone,然后在特定的context使用它们。这些定义一般定义在http上下文中。

http {
    ## 对每一个IP的请求限制为1次每秒
    limit_req_zone $binary_remote_addr zone=perip:10m rate=1r/s;

    ## 对一个server_name下的请求限制为10次每秒(这个数值有点低,一般会改大很多)
    limit_req_zone $server_name zone=perserver:10m rate=10r/s;
}

2、使用请求限制
可以在 http, server,location 上下文使用上面定义的域,使用方法如下:

server {
    ...
    limit_req zone=perip burst=5 nodelay;
    limit_req zone=perserver burst=10;

    location /api {
        limit_req zone=perip burst=3 nodelay;
    }
}
上一篇下一篇

猜你喜欢

热点阅读