Nginx connect req access 模块

Nginx connect req access 模块演练

  • limig_conn模块:限制TCP连接数
  • limit_req模块:限制请求频率
  • access 模块(allow/deny):限制ip段访问
  • auth_request: 基于HTTP响应状态码做权限控制
  • 压测可以使用 postman的 run collection进行,设置iterations(并发数)和 delay(延迟)
    在这里插入图片描述
#声明一个 limit_conn的条件 名称叫做 mylimitconn大小10m
 limit_conn_zone $binary_remote_addr zone=mylimitconn:10m; 
#声明一个 limit_req的条件 名称叫做 mylimit大小10m, 频率是每分钟 处理12个请求
 limit_req_zone $binary_remote_addr zone=mylimit:10m rate=12r/m;

server {

   listen 80;
   server_name access.lvzb.com;
   
 location /access/{
           root html;
           index index.html;
           error_log logs/limit_req_error.log info;
           
           # access module 开放2个ip段,拒绝其它ip
           allow 192.168.125.100;
           allow 192.168.125.1;
           deny all;

           # limit_conn module 限制tcp连接个数
           limit_conn_status  503;
           limit_conn_log_level warn;
           # 限制TPC的连接数 2个,多余的就会拒绝
           limit_conn mylimitconn 2;
           # 限制响应速率 50字节
           limit_rate 50;

           # limit_req 请求限速
           limit_req_status  504;
           # 超过频率和 burst后的日志级别
           limit_req_log_level notice;
           # 延迟处理参数
           limit_req zone=mylimit burst=7 nodelay;
        }

}

理解burst=7:

  • 加上前面mylimit 设置的 每分钟12个请求,也就是每5秒处理一个请求,那么就是开始最多可以有 1+7个请求。第一个不用入队,后面七个就会入队。第八个就会延迟执行或者拒绝。

理解nodelay:

  • nodelay只是对放到burst队列中的请求立即处理,但处理完成后队列并不立即清空,队列清空的速度仍然按原来的速度每秒一个清空,所以当再有请求过来时,并不会马上又有两个burst请求被处理.
    理解 auth_request:
  • 当访问 access.lvzb.com/OA/时,会转发到access.lvzb.com/auth/ 只有它返回 2XX状态码时,才会跳转到 login.html页面
server {

   listen 80;
   server_name access.lvzb.com;
   
 location /OA/{
           root html;
           index login.html;
           auth_request /auth;
        }
 location /auth/{
           root html;
           index index.html;
           proxy_pass http:auth.lvzb.com/auth;
        }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值