如果您希望边缘安全加速 ESA不缓存原本匹配默认缓存规则的部分资源,可以设置规则条件过滤出这部分请求,然后再配置缓存资格为绕过缓存。
在没有设置任何缓存规则或者缓存配置的情况下,ESA节点的缓存逻辑遵循默认缓存规则。
使用场景
如果源站有部分资源不希望在ESA节点上缓存(即动态资源,每个请求都需要回源获取最新的内容),您可以在缓存规则中配置针对指定资源使用绕过缓存模式,动态资源使用绕过缓存的处理方式能够提高访问性能。
操作步骤
在ESA控制台选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择。
单击新增规则,填写规则名称。
在如果请求匹配以下规则...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式语法。
在缓存资格区域,选择缓存策略后单击确定。

绕过缓存:所有请求都绕过边缘节点上的缓存组件,以便能够实时查看源站服务器上的最新资源。设置为绕过缓存的情况下,缓存相关功能中,仅浏览器缓存过期时间这一项能够生效。
说明限制说明:
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:动静分离策略
建议删除全站缓存规则,改为分别配置两条独立规则:
静态资源缓存:匹配图片、CSS、JS 等静态资源路径,配置相应缓存时间;
动态接口绕过缓存:匹配 API 接口路径,设置缓存资格为绕过缓存。
这样可以精确控制缓存策略,避免动态请求被误缓存。
注意事项
规则拆分原则:一条缓存规则只能设置一个缓存时间。不同文件后缀或目录若缓存策略不同,需拆分为多条独立规则分别配置。
规则独立性:关闭或删除某条特定缓存规则,不会影响其他规则的生效状态,系统按剩余规则的列表顺序继续匹配。
规则优先级:ESA 按规则列表从上到下匹配,首条命中的规则即生效。需要高优先级的规则(如绕过缓存)应置于列表顶部。
常见问题
为什么配置了绕过缓存规则但未生效?
按以下步骤逐项排查:
检查匹配条件:确认规则表达式是否准确,常见错误包括:OR 条件导致逻辑覆盖其他域名;文件扩展名或路径格式填写错误(如扩展名多了点号)。
确认请求特征:若规则依赖特定请求头(如
sec-fetch-site)触发,需确认实际请求是否携带该标头。调整规则顺序:ESA 按列表从上到下匹配,若绕过缓存规则位于长缓存规则之后,可能被前置规则拦截。将绕过缓存规则调整至列表顶部。
刷新缓存:修改规则后,需在控制台执行 URL 或目录刷新;仅刷新浏览器无效。
确认套餐版本:免费版套餐可能无法保证规则稳定生效,建议确认套餐权益或升级套餐。
验证是否过 ESA 节点:通过响应头
Server字段判断请求是否经过 ESA 节点,使用无痕浏览器排除本地缓存干扰。
接入 ESA 后网站无法登录、跳转失败或页面内容异常怎么办?
此类问题通常因全站缓存或不当的缓存规则导致登录态 Cookie、Session 或动态 API 响应被边缘节点缓存。解决步骤:
暂停或删除可疑的全站缓存规则;
为登录页、验证码接口及后台路径单独配置绕过缓存规则,并确保其优先级最高(置于列表顶部);
在控制台刷新相关 URL 缓存;
使用无痕浏览器验证是否恢复正常。
若以上配置无误仍异常,需排查源站业务逻辑(如 302 跳转逻辑是否正确识别登录状态)。此类情况属于源站问题,非 ESA 产品问题。
缓存规则中的"等于"与"包含"有什么区别?
匹配方式 | 说明 |
等于 | 精确匹配指定 URL 路径,同时自动涵盖该路径下的所有子路径。例如,配置 |
包含 | 模糊匹配,只要 URL 中出现指定字符串即命中,无论该字符串出现在路径的哪个位置。 |
在主机名匹配场景下,"等于"与"包含"效果类似,均可正常使用。
为什么开启缓存规则后拨测正常,关闭后反而超时?
这是正常现象,原因如下:
开启缓存时:请求由边缘节点直接响应,源站压力小,响应速度快;
关闭缓存后:所有请求(包括动态请求)均实时回源,高并发拨测可能导致源站负载过高而超时。
此现象反映源站存在性能瓶颈,属于源站问题,非 ESA 问题。建议:
通过配置缓存规则减轻回源压力;
开启 JS 挑战或智能限频功能保护源站。
相关文档
规则相关的功能,在生效优先级、可重入性、生效颗粒度上存在差异,详细情况请查看规则相关功能的特性说明。