访问控制与限速配置
概述
矩尺平台在四层(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 |
请求数量限制的位置

图中展示三个不同的配置项,测试使用的 QPS 数值不作为生产建议。并发数看“同时有多少请求未完成”,QPS 看“每秒处理多少请求”。串行请求即使很多,也未必能触发并发限制;验证时应让多个请求同时访问耗时足够长的后端。
四、并发与频率限制(单客户端)
限制每个客户端 IP 独立的访问量,防止单个 IP 占用过多资源。
| 配置项 | 含义 |
|---|---|
| 客户端最大并发请求数 | 单个 IP 同时处理的请求数上限 |
| 客户端最大并发延迟请求数 | 单 IP 超出并发限制后允许等待的数量 |
| 客户端每秒最大处理请求数 | 单个 IP 每秒允许的最大请求数 |
| 客户端每秒最大处理延迟请求数 | 单 IP QPS 超出后允许等待的突发缓冲量 |
| 客户端窗口时间内最大并发请求 | 单 IP 在时间窗口内累计的请求数量上限 |
| 客户端窗口时间大小(秒) | 单客户端统计窗口的长度 |
全局 + 单客户端,建议同时配置
- 全局限制保护后端总容量(如全局 QPS 1000)
- 单客户端限制防止单个 IP 独占资源(如单 IP QPS 50)
五、上传与响应速率控制
访问策略中还可限制单个请求的传输速度(非请求频率),适用于大文件上传/下载场景。
| 配置项 | 含义 | 适用场景 |
|---|---|---|
| HTTP 请求限速 | 限制上传传输速度,输入值与右侧速率单位共同生效 | 大文件上传 |
| HTTP 请求不限速阈值 | 请求包体在此大小之前不限速,注意右侧容量单位 | 小文件不受限速影响 |
| HTTP 响应限速 | 限制响应发送速度,注意 KB/秒、MB/秒等单位 | 大文件下载 |
| 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 无连接,限流对象是请求数(每个数据包计为一个请求)。
配置场景
场景一:大文件上传限速
- 创建访问策略,将“HTTP 请求限速”设为数值
2、单位MB/秒,“HTTP 请求不限速阈值”设为数值10、单位MB,取消对应“不限制”。 - 在虚拟服务中关闭“缓存请求包体”,确认后端支持接收大文件。
- 创建 HTTP 策略,在“HTTP 访问控制策略”字段引用该访问策略。
- 让实际命中的分发规则使用此 HTTP 策略,保存并执行变更。
- 从客户端上传明显大于 10MB 的文件,同时记录上传字节数、耗时、响应码和后端是否收到完整文件。
例如 100MB 包体,前 10MB 不限速,剩余 90MB 按 2MB/秒计算约需 45 秒。这只是限速部分的估算,实际耗时还包括网络、后端处理及协议开销,不能把 45 秒当成所有环境的固定结果。
场景二:保护后端 API 不被刷爆
配置步骤:
- 创建访问策略,配置:
- 每秒最大处理请求数:
1000(全局 QPS) - 每秒最大处理延迟请求数:
200(全局突发缓冲) - QPS 超限返回错误码:
429 - 客户端每秒最大处理请求数:
50(单 IP QPS) - 客户端每秒最大处理延迟请求数:
10
- 每秒最大处理请求数:
- 按场景一步骤 3-4 完成引用和绑定
场景三:大文件下载限速
配置步骤:
- 创建访问策略,配置:
- HTTP 响应限速:数值
2,单位MB/秒 - HTTP 响应不限速阈值:数值
1,单位MB
- HTTP 响应限速:数值
- 按场景一步骤 3-4 完成引用和绑定
场景四:内部管理后台 IP 白名单
配置步骤:
- 预先在 IP 集合管理 中创建"公司内网 IP 段"集合
- 创建访问策略,配置:
- 白名单 IP:选择"公司内网 IP 段"集合
- 按场景一步骤 3-4 完成引用和绑定
- 在虚拟服务中创建高优先级分发规则:
- 分发策略:URL 前缀 =
/admin/ - 处理方式:HTTP 代理 → admin-pool
- 七层 HTTP 策略:选择关联了此访问策略的 HTTP 策略
- 分发策略:URL 前缀 =
验证与排障
首次配置先单独验证一个限制,再组合使用,避免无法区分是哪一层拒绝了请求。
| 要验证的限制 | 验证方法 | 需要区分的结果 |
|---|---|---|
| 全局 QPS | 多客户端合计持续超过配置值 | 合计请求量、成功与拒绝数量、是否排队 |
| 单客户端 QPS | 使用两个真实可区分的客户端地址,各自发起请求 | 一个客户端超限,不应直接推断另一个客户端也超限 |
| 并发请求数 | 多个客户端同时访问有处理耗时的接口 | 同时未完成的请求数、拒绝及等待耗时 |
| 传输速率 | 上传或下载明显大于不限速阈值的包体 | 超过阈值后的传输速度,不是只看一次总耗时 |
| IP 黑白名单 | 分别使用允许和拒绝的地址 | 实际识别的客户端地址、是否命中正确规则 |
排障前记录测试时间及其时区、虚拟服务地址和端口、请求路径、配置阈值及超限返回码。结合访问日志分析核对客户端地址、命中规则、后端地址、响应码和耗时;日志尚未启用时,应先配置日志,再复现一次。
不能仅凭 429、502 或 503 判断一定发生了限流:自定义超限返回码、鉴权失败、后端响应和无可用节点都可能产生错误响应。核对是否访问了后端及对应错误日志;只有前端日志里的一条状态码不足以定因。
多个限制同时生效时,请求必须满足各项条件。检查服务器池或节点是否还配置了连接限制,也检查上游网关是否提前限流。修改后确认变更执行成功,再对照相同请求条件复测。
七层访问策略和 HTTP 策略的详细配置参见 七层策略用户手册,四层参见 四层策略用户手册,IP 集合管理参见 IP 集合管理。
