Nginx 限流

1、限制访问频率

http {

    # 定义了一个大小 10M 的 mylimit 缓冲区(容器),请求频率为每秒 1 个请求(nr/s)
    limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

}

server {

    listen  80;
    location / {

        # nodelay 不延迟处理
        # burst 是配置超额处理,可简单理解为队列机制
        # 上面配置同一个 IP 每秒只能发送一次请求(1r/s),这里配置了缓存3个请求,就意味着同一秒内只能允许 4 个任务响应成功,其它任务请求则失败(503错误)
        limit_req zone=mylimit burst=3 nodelay;
        proxy_pass http://localhost:8080;
    }

}

2、限制并发连接数

http {

    # 定义了一个 myip 缓冲区(容器)
    limit_conn_zone $binary_remote_addr zone=myip:10m;
    limit_conn_zone $server_name zone=myServerName:10m;

}

server {
    location / {

        # 每个 IP 只允许 10 个连接
        limit_conn myip 10;

        # 设置了整个虚拟服务器同时最大并发数最多只能100个链接
        limit_conn myServerName 100;
        proxy_pass http://localhost:8080;

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值