美文网首页
nginx黑白名单限速

nginx黑白名单限速

作者: mafa1993 | 来源:发表于2020-05-01 10:21 被阅读0次

速率限制黑白名单

  1. ngx_http_geo_module 根据客户端IP地址对变量赋值,类似于switch的用法
    • geo指令,在http区块中定义,可以单独配置成一个文件,进行include
    • ranges 指示地址将定义为地址段的形式
geo $geo { # $geo为变量名,可以自定义
    default 0; # 默认返回0,delete删除指定网络
    127.0.0.1/24 2; # 如果是127段的ip,返回2
    192.168.1.0/24 1; # 192的ip返回1
    # ranges: 
    # defaule 1;
    # 192.168.1.1-192.168.1.10 0; # 必须为升序
}
  1. map,根据内置变量或者其他自定义变量以及自定义规则,创建一个自定义变量
    • 使用在http模块
# 匹配user_agent,如果包含Opera Mini就把mobile赋值为1,不包含就赋值为0
map $http_user_agent $mobile {
    default 0;  #默认mobile的值为0,如果包含opera Mini则为1
    "~Opera Mini" 1;
}
  1. 案例
# 例如使用0标示白,白名单中不限速 , 192段的没有速率限制,其余的有速率限制
geo $whiteIpList {
    default 1;
    192.168.1.0/24 0;
}

# 如果在白名单中返回空,不在白名单返回其二进制的地址,因为限速模块用的二进制地址
map $whiteIpList $limit {
    1 $binary_remote_addr;  # 给limit赋上二进制地址,这里相当于格式转化,将ip转换成二进制的,因为nginx速率限制模块使用的是二进制的ip地址
    0 "",
}

# 如果是空字符串,速率不会生效
limit_req_zone $limit zone=test:10m rate=1r/s;
  1. set var value,value可以是文本、变量或者它们的组合

相关文章

  • nginx黑白名单限速

    速率限制黑白名单 ngx_http_geo_module 根据客户端IP地址对变量赋值,类似于switch的用法g...

  • Nginx限速模块初探

    转载:Nginx限速模块初探 云栖君导读:Nginx限速模块分为哪几种?按请求速率限速的burst和nodelay...

  • [转]Nginx限速模块初探

    转自 Nginx限速模块初探 Nginx限速模块分为哪几种?按请求速率限速的burst和nodelay参数是什么意...

  • Linux学习笔记-Nginx补充

    除了负载均衡,Nginx还可以做很多:限流、缓存、黑白名单等,这些你都知道吗? 一、静态代理 Nginx擅长处理静...

  • 39笔记--模块

    今日内容 创建环境 8.nginx开启目录浏览 提供下载功能 Nginx访问控制 限速 nginx状态指标,俗称...

  • nginx 配置

    http {#geot和map两段用于处理限速白名单,map段映射名单到whiteiplist {default...

  • 【sentinel】深入浅出之原理篇AuthoritySlot

    AuthorizationSlot则根据黑白名单,来做黑白名单控制;如果该resource配置了Authority...

  • Nginx 学习之旅 | Nginx 限速

    限速介绍 1、限速该特性可以限制某个用户在一个给定时间段内能够产生的http请求数。请求可以简单到就是一个对于主页...

  • Nginx限速模块初探

    Nginx限速模块分为哪几种?按请求速率限速的burst和nodelay参数是什么意思?漏桶算法和令牌桶算法究竟有...

  • 【Nginx】如何封禁IP和IP段?看完这篇我会了!!

    写在前面 Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流、缓存、黑白名单和...

网友评论

      本文标题:nginx黑白名单限速

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