美文网首页
请求限制

请求限制

作者: qyfl | 来源:发表于2019-03-16 22:26 被阅读0次

现在的 http 协议支持在一次连接上建立多次请求,于是就有了请求限制和连接限制
http1.1 支持顺序性 tcp 复用,到了2.0支持多路tcp复用。

limit_conn_module,连接频率限制

配置语法:

Syntax: limit_conn_zone key zone=name:size;

Default: -

Context: http
Syntax: limit_conn name number;

Default: -

Context: http,server,location

示例:


http {
    ...
    
    limit_conn_zone $binary_remote_addr zone=conn_zone:1m;
    
    // conn_zone 是自定义的变量
    // $binary_remtoe_addr 表示客户端地址,放在这里表示通过客户端地址限制请求次数。$binary_remote_addr 比 $remote_addr 节省空间。
    
    
    
    server {
        ...
        
        limit_conn conn_zone 1;
        // 限制同一个 IP 同时只能有一个连接。
        // 同时只能有一个连接的意思不是同时只能有一个请求,一个连接可以有多个请求
        
        location / {
            root   html;
            index  index.html index.htm;
        }
    }


}

limit_req_module,请求频率限制

配置语法:

Syntax: limit_req_zone key zone=name:size rate=rate;

Default: -

Context:http
Syntax: limit_req zone=name [burst=number][nodelay];

Default: -

Context: http,server,location

示例:

http {
    ...
    
    limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;
    // 表示对同一个 IP 限制每秒请求一次。
    
    // $binary_remtoe_addr 表示客户端地址,放在这里表示通过客户端地址限制请求次数。$binary_remote_addr 比 $remote_addr 节省空间。
    // 1m 表示 zone 的大小
    // zone=req_zone 表示 zone 的名字
    // rate=1r/s 表示每秒一次请求
    
    server {
        ...
        
        limit_req zone=req_zone;
        // 在这个 server 下的所有 location 使用 req_one 的限制,每秒只能请求一次。
        
        limit_req zone=req_zone burst=3 nodelay;
        // burst=3 表示达到限制之后有3个会到下一秒执行,对客户端访问限速
        // nodelay 是不等待直接返回 503 等
        
        location / {
            root   html;
            index  index.html index.htm;
        }
    }


}

相关文章

  • 请求限制

    现在的 http 协议支持在一次连接上建立多次请求,于是就有了请求限制和连接限制http1.1 支持顺序性 tcp...

  • Axios请求并发限制

    标签 NodeJS并发请求,并行请求,QPS限制,Axios并发限制,Axios并发请求 背景 由于调用第三方服务...

  • 2018-02-13窒息的get请求

    请求长度超过限制,导致需要多次请求。然后

  • Java面试总结

    get和post的区别 Get请求发送的文本内容大小有限制,而post请求没有限制 Get请求的请求参数会出现在u...

  • nginx 请求限制

    连接频率限制 - limit_conn_module请求频率限制 - limit_req_module H...

  • iOS限制请求

    iOS开发中 经常遇到搜索框实时根据输入内容进行网络请求 为避免输入内容过快进行网络请求太过频繁 特做以下限制 先...

  • ajax 请求的时候 get 和 post 方式的区别?

    get请求不安全,post安全 get请求数据有限制(大约2kb),post无限制 get请求参数会在url中显示...

  • ajax 请求的时候 get 和 post 方式的区别?

    get和post的区别 get请求不安全,post安全 get请求数据有限制,post无限制 get请求参数会在u...

  • 05.Nginx访问限制和访问控制

    Nginx访问限制 连接频率限制 limit_conn_module请求频率限制 limit_req_module...

  • js面试题

    1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。...

网友评论

      本文标题:请求限制

      本文链接:https://www.haomeiwen.com/subject/womemqtx.html