开启忽略参数后,CDN 节点会去除请求 URL 参数(? 之后的部分),使不同参数的请求命中同一缓存,从而提高缓存命中率。本文介绍忽略参数的配置方法、功能对比以及使用建议。
功能对比与选择
自定义Cache Key与忽略参数存在冲突:同时配置忽略参数和自定义 Cache Key 的情况下,忽略参数功能将会失效。
自定义Cache Key可替代忽略参数的缓存键配置,且功能更全面,推荐优先使用。配置对比:
场景
忽略参数配置
自定义Cache Key配置
在缓存键中忽略所有请求参数
忽略参数设置为是,保留指定参数留空
添加一条请求参数处理策略:
操作方式:保留
参数名:设为任意不存在的参数名,例如 example-argument
在缓存键中仅保留请求参数key1
忽略参数设置为是,保留指定参数设置为
key1添加一条请求参数处理策略:
操作方式:保留
参数名:key1
在缓存键中仅删除请求参数key1
删除指定参数设置为
key1添加一条请求参数处理策略:
操作方式:删除
参数名:key1
重写回源参数可替代忽略参数的回源参数重写,且功能更全面,推荐优先使用。
功能介绍
忽略参数
作用 | 适用场景 |
去除请求 URL 参数( | 当 URL 参数与资源内容无关(如用户 UID、渠道来源、推荐码等),建议开启忽略参数。例如,以下两个请求访问同一资源但携带不同 UID: A 用户: B 用户: 未开启忽略参数时,CDN 节点会将 A、B 用户的 URL 视为不同资源,无法命中同一缓存,每次都需回源。开启忽略参数后,CDN 节点会去除 URL 参数,统一使用 |
配置URL鉴权的优先级高于忽略参数。鉴权方式A的鉴权信息包含URL参数部分,CDN会先完成鉴权判断,通过后再缓存副本。
保留回源参数
作用 | 适用场景 |
回源时保留原始 URL 全部参数,确保源站能接收到用户的关键信息。 | 开启忽略参数后,CDN 节点默认使用去除参数后的 URL 回源。以上述示例为例,A、B 用户的回源请求都使用 |
操作步骤
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名列表单击目标域名,在左侧导航栏,单击性能优化,进入性能优化配置页面。
单击忽略参数区域的修改配置,根据实际需求选择模式并完成配置。
配置完成后,单击确定保存。
模式:保留指定参数
参数 | 说明 | 示例 |
忽略参数 |
| 假设原始URL为
|
保留指定参数 | 配置需要保留的参数名,最多10个,多个参数用英文逗号(,)分隔。 | |
保留回源参数 |
| |
规则条件 | 规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。 重要
引用规则条件时,按所关联规则条件的优先级匹配,而非按功能自身的配置顺序匹配。
|
模式:删除指定参数
参数 | 说明 | 示例 |
删除指定参数 | 配置需要删除的参数名,最多10个,多个参数用空格分隔。 | 假设原始URL为
|
保留回源参数 |
| |
规则条件 | 规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。 重要
引用规则条件时,按所关联规则条件的优先级匹配,而非按功能自身的配置顺序匹配。
|
使用场景示例
利用忽略参数应对通过 URL 参数绕过缓存的请求
当攻击者或爬虫通过添加随机无意义参数(如 ?timestamp=xxx、?random=xxx)请求同一资源时,CDN 会将每个带不同参数的请求视为独立资源,导致缓存命中率降低和回源流量激增。
此时应开启忽略参数功能(或配置忽略所有参数),使携带不同随机参数的请求命中同一缓存,从而有效降低回源压力。例如,配置忽略参数后,以下请求将命中同一缓存:
http://example.com/page.html?t=123456http://example.com/page.html?t=789012http://example.com/page.html?random=abc
上述请求在开启忽略参数后,统一使用 http://example.com/page.html 匹配缓存,有效防御通过 URL 参数绕过缓存的攻击行为。