当前位置: > Linux服务器 > 环境配置 >

tengine 限制同IP对同URL连接数限制的配置

时间:2014-11-22 00:38来源:linux.it.net.cn 作者:IT
http {
    limit_req_zone $binary_remote_addr zone=one:10m   rate=1r/s;  
    ...
    server {  
        ...
        location / { 
            limit_req   zone=one  burst=5; 
        }

xx和nginx类似,tengine支持多个变量,并且支持多个limit_req_zone的设置 如下:

 

    limit_req_zone $binary_remote_addr zone=one:3m rate=1r/s;
    limit_req_zone $binary_remote_addr $uri zone=two:3m rate=1r/s;
    limit_req_zone $binary_remote_addr $request_uri zone=thre:3m rate=1r/s;
上面的第二个指令表示当相同的ip地址并且访问相同的uri,会导致进入limit req的限制(每秒1个请求)。

 

当条件被触发时,nginx所要执行的动作,支持name location和页面(/),默认是返回503。比如:

 

    limit_req_zone $binary_remote_addr zone=one:3m rate=1r/s;
    limit_req_zone $binary_remote_addr $uri zone=two:3m rate=1r/s;
    limit_req_zone $binary_remote_addr $request_uri zone=three:3m rate=1r/s;

    location / {
        limit_req zone=one burst=5;
        limit_req zone=two forbid_action=@test1;
        limit_req zone=three burst=3 forbid_action=@test2;
    }

    location /off {
        limit_req off;
    }

    location @test1 {
        rewrite ^ /test1.html;
    }

    location @test2 {
        rewrite ^  /test2.html;
    }
(责任编辑:IT)
------分隔线----------------------------