全部产品
Search
文档中心

边缘安全加速:缓存资格

更新时间:Jun 25, 2026

如果您希望边缘安全加速 ESA不缓存原本匹配默认缓存规则的部分资源,可以设置规则条件过滤出这部分请求,然后再配置缓存资格绕过缓存

说明

在没有设置任何缓存规则或者缓存配置的情况下,ESA节点的缓存逻辑遵循默认缓存规则

使用场景

如果源站有部分资源不希望在ESA节点上缓存(即动态资源,每个请求都需要回源获取最新的内容),您可以在缓存规则中配置针对指定资源使用绕过缓存模式,动态资源使用绕过缓存的处理方式能够提高访问性能。

操作步骤

  1. 在ESA控制台选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择规则 > 缓存规则

  3. 单击新增规则,填写规则名称

  4. 如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式语法

  5. 缓存资格区域,选择缓存策略后单击确定

    image

    • 绕过缓存:所有请求都绕过边缘节点上的缓存组件,以便能够实时查看源站服务器上的最新资源。设置为绕过缓存的情况下,缓存相关功能中,仅浏览器缓存过期时间这一项能够生效。

      说明

      限制说明:

      • ESA 不支持通过 HTTP 响应头(如 X-Fallback)配置不缓存,也不支持通过 HTML 注释标记实现局部不缓存,需改用基于请求头或 URL 路径的缓存规则。

      • 未配置任何缓存规则时,ESA 遵循默认缓存规则;以 / 结尾的动态请求默认回源;源站返回 no-cache 响应头时,ESA 默认不缓存该资源。

      • 缓存欺骗防御响应过期缓存功能默认关闭,如需使用,请在缓存规则中手动开启。

    • 符合缓存条件:所有符合条件的请求都经过边缘节点上的缓存组件,可直接从缓存节点上获取资源,而无需从源站重新获取,有效避免通过较长的链路回源,从而减少延迟和提高资源访问效率。

常见配置示例

以下为高频使用场景的参考配置,帮助快速完成动静分离策略的设置。

示例 1:动态接口 / API 不缓存

针对接口或 PHP 页面,配置绕过缓存规则:

  • URL 路径包含 /api/prod-api/,缓存资格选择绕过缓存

  • 或文件扩展名等于 php(填写时不带点),缓存资格选择绕过缓存

示例 2:后台 / 登录页不缓存

针对 WordPress 后台(/wp-admin)、CMS 管理端或登录接口(/login)路径,配置绕过缓存规则,并将该规则置于规则列表顶部,确保其优先级高于静态资源缓存规则。

示例 3:单页应用(SPA)根路径缓存

ESA 默认不缓存无后缀 URL(如 /)。若需缓存 text/html 页面内容,新增规则:匹配请求头 Accept 包含 text/html,并配置相应的缓存时间。

示例 4:特定文件不缓存

配置特定文件路径时,注意格式:

  • 路径字段填写 sitemap(不带后缀),可匹配 sitemap.xml

  • 文件扩展名字段填写 xml(不带点),而非 .xml

示例 5:动静分离策略

建议删除全站缓存规则,改为分别配置两条独立规则:

  1. 静态资源缓存:匹配图片、CSS、JS 等静态资源路径,配置相应缓存时间;

  2. 动态接口绕过缓存:匹配 API 接口路径,设置缓存资格为绕过缓存

这样可以精确控制缓存策略,避免动态请求被误缓存。

注意事项

  • 规则拆分原则:一条缓存规则只能设置一个缓存时间。不同文件后缀或目录若缓存策略不同,需拆分为多条独立规则分别配置。

  • 规则独立性:关闭或删除某条特定缓存规则,不会影响其他规则的生效状态,系统按剩余规则的列表顺序继续匹配。

  • 规则优先级:ESA 按规则列表从上到下匹配,首条命中的规则即生效。需要高优先级的规则(如绕过缓存)应置于列表顶部。

常见问题

为什么配置了绕过缓存规则但未生效?

按以下步骤逐项排查:

  1. 检查匹配条件:确认规则表达式是否准确,常见错误包括:OR 条件导致逻辑覆盖其他域名;文件扩展名或路径格式填写错误(如扩展名多了点号)。

  2. 确认请求特征:若规则依赖特定请求头(如 sec-fetch-site)触发,需确认实际请求是否携带该标头。

  3. 调整规则顺序:ESA 按列表从上到下匹配,若绕过缓存规则位于长缓存规则之后,可能被前置规则拦截。将绕过缓存规则调整至列表顶部。

  4. 刷新缓存:修改规则后,需在控制台执行 URL 或目录刷新;仅刷新浏览器无效。

  5. 确认套餐版本:免费版套餐可能无法保证规则稳定生效,建议确认套餐权益或升级套餐。

  6. 验证是否过 ESA 节点:通过响应头 Server 字段判断请求是否经过 ESA 节点,使用无痕浏览器排除本地缓存干扰。

接入 ESA 后网站无法登录、跳转失败或页面内容异常怎么办?

此类问题通常因全站缓存或不当的缓存规则导致登录态 Cookie、Session 或动态 API 响应被边缘节点缓存。解决步骤

  1. 暂停或删除可疑的全站缓存规则;

  2. 为登录页、验证码接口及后台路径单独配置绕过缓存规则,并确保其优先级最高(置于列表顶部);

  3. 在控制台刷新相关 URL 缓存;

  4. 使用无痕浏览器验证是否恢复正常。

若以上配置无误仍异常,需排查源站业务逻辑(如 302 跳转逻辑是否正确识别登录状态)。此类情况属于源站问题,非 ESA 产品问题。

缓存规则中的"等于"与"包含"有什么区别?

匹配方式

说明

等于

精确匹配指定 URL 路径,同时自动涵盖该路径下的所有子路径。例如,配置 /test/_nuxt/ 等于,也会匹配其下级资源。

包含

模糊匹配,只要 URL 中出现指定字符串即命中,无论该字符串出现在路径的哪个位置。

在主机名匹配场景下,"等于"与"包含"效果类似,均可正常使用。

为什么开启缓存规则后拨测正常,关闭后反而超时?

这是正常现象,原因如下:

  • 开启缓存时:请求由边缘节点直接响应,源站压力小,响应速度快;

  • 关闭缓存后:所有请求(包括动态请求)均实时回源,高并发拨测可能导致源站负载过高而超时。

此现象反映源站存在性能瓶颈,属于源站问题,非 ESA 问题。建议:

  • 通过配置缓存规则减轻回源压力;

  • 开启 JS 挑战或智能限频功能保护源站。

相关文档

规则相关的功能,在生效优先级、可重入性、生效颗粒度上存在差异,详细情况请查看规则相关功能的特性说明