Skip to content

访问控制与限速配置 ​

概述 ​

矩尺平台在四层(TCP/UDP)和七层(HTTP/HTTPS)均提供访问控制与流量限制能力,帮助您保护后端服务免受恶意流量、过度请求和资源滥用的影响。

配置方式:

  • 七层:先创建"HTTP 访问策略"(独立页签),再在"HTTP 策略"中通过「HTTP 访问控制策略」字段引用它
  • 四层:TCP/UDP 策略自带黑白名单和连接限制,无需单独创建访问策略

本文档以七层为主线(功能最全面),四层的差异在末尾补充。


七层 HTTP 访问策略 ​

创建与引用流程 ​

第一步:创建访问策略
  入口:【负载流量管理 → 策略配置 → 七层策略 → 访问策略】页签
  点击"新增",配置以下参数(见下方各节)

第二步:创建 HTTP 策略并引用
  入口:【负载流量管理 → 策略配置 → 七层策略 → HTTP策略】页签
  在「HTTP 访问控制策略」字段中选择第一步创建的访问策略
  → 这样 HTTP 策略就具备了访问控制能力

第三步:在分发规则中绑定 HTTP 策略
  虚拟服务 → 分发规则 → 七层HTTP策略 → 选择第二步创建的 HTTP 策略

第四步:保存并执行变更
  确认测试请求实际命中上述分发规则,再验证流量

访问策略配置


一、IP 黑白名单 ​

在策略中绑定预先创建的 IP 集合,实现基于客户端 IP 的访问控制。

配置项作用
白名单 IP选择 IP 集合,仅允许集合内的 IP 访问。不在白名单中的请求将被拒绝
黑名单 IP选择 IP 集合,禁止集合内的 IP 访问。黑名单中的 IP 请求将被拒绝

白名单和黑名单可同时使用:先检查白名单(不在白名单中直接拒绝),再检查黑名单(在黑名单中则拒绝)。

前面还有代理、CDN 或网关时,应先核对 真实客户端 IP 与 XFF。识别成代理地址时,同一代理后的用户可能共用单客户端限制;不能只在请求里随意添加 XFF 就认为已按真实用户限流。


二、身份认证 ​

基本认证 Realm ​

开启后,客户端请求必须携带 Authorization: Basic <base64> 头部,用户名和密码由管理员预设。适用于简单的 API 认证或内部工具访问,不建议在生产环境对公网暴露。

配置项说明
基本认证 Realm认证域标识,浏览器弹窗中显示的提示文字
用户名/密码预设一组或多组凭据

用户鉴权服务器地址 ​

开启后,每个请求到达时,负载均衡会先向指定的鉴权服务器发送子请求。如果鉴权服务器返回 2xx,放行;返回 401 或 403,则拒绝客户端请求。

工作流程:

客户端请求 → 矩尺 → (子请求) → 鉴权服务器
                     ← 2xx → 放行,正常转发到后端
                     ← 401/403 → 拒绝客户端请求

这种方式比 Basic 认证更灵活——鉴权逻辑由外部服务实现,支持 Token、OAuth 等复杂认证方式。


浏览器合规性认证 ​

开启后,负载均衡会对客户端执行浏览器合规性校验,通过两阶段 Cookie 认证识别并拦截非浏览器流量(如爬虫、自动化脚本)。该功能需要合作方认证服务配合实现。

详细配置说明请参见浏览器合规性校验配置。


三、并发与频率限制(全局) ​

限制该访问策略生效范围内所有客户端合计的访问量。“全局”用于区别下面的单客户端限制,不应理解为多台引擎共享一个集群总配额。

配置项含义
最大并发请求数同时处理的最大并发请求数。可勾选"不限制"
最大并发延迟请求数超出并发限制后允许排队等待的数量;该项勾选“不限制”不代表无限排队,应结合页面提示配置
每秒最大处理请求数每秒允许的最大请求数(QPS 上限)。可勾选"不限制"
每秒最大处理延迟请求数QPS 超出后允许等待的突发缓冲量,不是额外永久增加的 QPS
窗口时间内最大并发请求限制窗口内累计的请求数量,不能当作某一瞬间的并发数
窗口时间大小(秒)与窗口请求数量上限配合填写,例如 60 秒内最多 600 次
QPS 超限返回错误码当请求被 QPS 限制拒绝时返回的 HTTP 状态码,默认 503
并发数超限返回错误码当请求被并发限制拒绝时返回的 HTTP 状态码,默认 503

请求数量限制的位置 ​

HTTP 访问策略的返回码、并发与 QPS 配置

图中展示三个不同的配置项,测试使用的 QPS 数值不作为生产建议。并发数看“同时有多少请求未完成”,QPS 看“每秒处理多少请求”。串行请求即使很多,也未必能触发并发限制;验证时应让多个请求同时访问耗时足够长的后端。


四、并发与频率限制(单客户端) ​

限制每个客户端 IP 独立的访问量,防止单个 IP 占用过多资源。

配置项含义
客户端最大并发请求数单个 IP 同时处理的请求数上限
客户端最大并发延迟请求数单 IP 超出并发限制后允许等待的数量
客户端每秒最大处理请求数单个 IP 每秒允许的最大请求数
客户端每秒最大处理延迟请求数单 IP QPS 超出后允许等待的突发缓冲量
客户端窗口时间内最大并发请求单 IP 在时间窗口内累计的请求数量上限
客户端窗口时间大小(秒)单客户端统计窗口的长度

全局 + 单客户端,建议同时配置

  • 全局限制保护后端总容量(如全局 QPS 1000)
  • 单客户端限制防止单个 IP 独占资源(如单 IP QPS 50)

五、上传与响应速率控制 ​

访问策略中还可限制单个请求的传输速度(非请求频率),适用于大文件上传/下载场景。

配置项含义适用场景
HTTP 请求限速限制上传传输速度,输入值与右侧速率单位共同生效大文件上传
HTTP 请求不限速阈值请求包体在此大小之前不限速,注意右侧容量单位小文件不受限速影响
HTTP 响应限速限制响应发送速度,注意 KB/秒、MB/秒等单位大文件下载
HTTP 响应不限速阈值响应包体在此大小之前不限速,单位与速率不同小响应不受限速影响

传输速率和容量单位的位置 ​

HTTP 访问策略的传输速率与不限速阈值

这是同一访问策略页面的另一块区域,与前面的 QPS 配置分别设置。图中勾选了“不限制”,启用限速时应取消相应勾选,再填写数值和单位。不要把 API 中以字节表示的值直接填入已经选择 MB 的输入框。

上传限速的前提

虚拟服务开启“缓存请求包体”后,请求限速会失效。需要边上传边限速时,先核对此开关,再用明显大于不限速阈值的请求包体验证;只发送很小的 JSON 无法证明上传限速有效。

为什么需要这些参数?

如果直接将大文件全速下发,一个下载请求就可能占满带宽。传输限速控制单个请求的速度,不等于所有客户端合计的出口带宽限制。不限速阈值 让较小的包体不受限速影响。

举例:

大文件下载限速
HTTP 响应限速:数值 2,单位 MB/秒
HTTP 响应不限速阈值:数值 1,单位 MB
→ 前 1MB 不限速,超过后以 2MB/s 发送

大文件上传限速
HTTP 请求限速:数值 2,单位 MB/秒
HTTP 请求不限速阈值:数值 10,单位 MB
→ 前 10MB 不限速,超过后以 2MB/s 接收

可信网关 ​

可信网关是基于区块链技术构建的联盟链访问控制。请求需通过链上合约授权后才能访问。开启后,需配置相关合约参数。具体使用请咨询矩尺技术支持。


四层访问控制 ​

TCP 策略 ​

入口:【SLB 本地负载 → 策略配置 → 四层策略 → 虚拟服务TCP策略】。

TCP 策略自带 IP 黑白名单和连接限制,字段分为全局和单客户端两组。限流对象是连接数(TCP 有连接):

全局限制(所有客户端合计):

配置项含义
最大并发连接数同时处理的最大并发连接数。可勾选"不限制"
最大并发延迟连接数超出并发限制后允许排队的数量
每秒最大处理连接数每秒允许的最大新建连接数
每秒最大处理延迟连接数新建连接超出后的突发缓冲量
窗口时间内最大并发连接时间窗口内的最大并发数
窗口时间内最大并发延迟连接数窗口内超限后允许排队的数量

单客户端限制(每个 IP 独立): 同样六项配置,仅作用于单个客户端 IP。

此外 TCP 策略还支持 IP 黑白名单(绑定 IP 集合)和 SNAT 源地址转换。

UDP 策略 ​

入口:【SLB 本地负载 → 策略配置 → 四层策略 → 虚拟服务UDP策略】。

UDP 策略支持 IP 黑白名单和请求数限制。由于 UDP 无连接,限流对象是请求数(每个数据包计为一个请求)。


配置场景 ​

场景一:大文件上传限速 ​

  1. 创建访问策略,将“HTTP 请求限速”设为数值 2、单位 MB/秒,“HTTP 请求不限速阈值”设为数值 10、单位 MB,取消对应“不限制”。
  2. 在虚拟服务中关闭“缓存请求包体”,确认后端支持接收大文件。
  3. 创建 HTTP 策略,在“HTTP 访问控制策略”字段引用该访问策略。
  4. 让实际命中的分发规则使用此 HTTP 策略,保存并执行变更。
  5. 从客户端上传明显大于 10MB 的文件,同时记录上传字节数、耗时、响应码和后端是否收到完整文件。

例如 100MB 包体,前 10MB 不限速,剩余 90MB 按 2MB/秒计算约需 45 秒。这只是限速部分的估算,实际耗时还包括网络、后端处理及协议开销,不能把 45 秒当成所有环境的固定结果。

场景二:保护后端 API 不被刷爆 ​

配置步骤:

  1. 创建访问策略,配置:
    • 每秒最大处理请求数:1000(全局 QPS)
    • 每秒最大处理延迟请求数:200(全局突发缓冲)
    • QPS 超限返回错误码:429
    • 客户端每秒最大处理请求数:50(单 IP QPS)
    • 客户端每秒最大处理延迟请求数:10
  2. 按场景一步骤 3-4 完成引用和绑定

场景三:大文件下载限速 ​

配置步骤:

  1. 创建访问策略,配置:
    • HTTP 响应限速:数值 2,单位 MB/秒
    • HTTP 响应不限速阈值:数值 1,单位 MB
  2. 按场景一步骤 3-4 完成引用和绑定

场景四:内部管理后台 IP 白名单 ​

配置步骤:

  1. 预先在 IP 集合管理 中创建"公司内网 IP 段"集合
  2. 创建访问策略,配置:
    • 白名单 IP:选择"公司内网 IP 段"集合
  3. 按场景一步骤 3-4 完成引用和绑定
  4. 在虚拟服务中创建高优先级分发规则:
    • 分发策略:URL 前缀 = /admin/
    • 处理方式:HTTP 代理 → admin-pool
    • 七层 HTTP 策略:选择关联了此访问策略的 HTTP 策略

验证与排障 ​

首次配置先单独验证一个限制,再组合使用,避免无法区分是哪一层拒绝了请求。

要验证的限制验证方法需要区分的结果
全局 QPS多客户端合计持续超过配置值合计请求量、成功与拒绝数量、是否排队
单客户端 QPS使用两个真实可区分的客户端地址,各自发起请求一个客户端超限,不应直接推断另一个客户端也超限
并发请求数多个客户端同时访问有处理耗时的接口同时未完成的请求数、拒绝及等待耗时
传输速率上传或下载明显大于不限速阈值的包体超过阈值后的传输速度,不是只看一次总耗时
IP 黑白名单分别使用允许和拒绝的地址实际识别的客户端地址、是否命中正确规则

排障前记录测试时间及其时区、虚拟服务地址和端口、请求路径、配置阈值及超限返回码。结合访问日志分析核对客户端地址、命中规则、后端地址、响应码和耗时;日志尚未启用时,应先配置日志,再复现一次。

不能仅凭 429、502 或 503 判断一定发生了限流:自定义超限返回码、鉴权失败、后端响应和无可用节点都可能产生错误响应。核对是否访问了后端及对应错误日志;只有前端日志里的一条状态码不足以定因。

多个限制同时生效时,请求必须满足各项条件。检查服务器池或节点是否还配置了连接限制,也检查上游网关是否提前限流。修改后确认变更执行成功,再对照相同请求条件复测。

七层访问策略和 HTTP 策略的详细配置参见 七层策略用户手册,四层参见 四层策略用户手册,IP 集合管理参见 IP 集合管理。