You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时启用公共缓存并禁用私有缓存?CloudFront缓存配置问题

实现方案

完全可以实现,核心是通过Cache-Control的差异化指令区分共享缓存和私有缓存的生效规则:

调整后的响应头配置

将原有的Cache-Control头替换为以下内容即可:

cache-control: public, s-maxage=31556952, max-age=0, must-revalidate

各参数作用说明

  • public:保留原有公共缓存可存储响应的配置,保证CloudFront等共享缓存可以正常缓存内容
  • s-maxage=31556952:该指令仅对CloudFront、代理这类共享缓存生效,优先级高于普通max-age,共享缓存会按照该值将内容缓存1年,和你之前的预期缓存逻辑完全一致
  • max-age=0:告诉浏览器等私有缓存,响应的本地缓存立刻过期,不会直接使用本地缓存副本
  • must-revalidate:强制浏览器过期后必须向服务端校验资源有效性,完全禁用本地私有缓存的静默使用

CloudFront侧适配要求

CloudFront原生支持s-maxage指令,不需要额外调整CloudFront的缓存策略配置,只要源站返回上述响应头即可生效。如果有更高的安全要求,希望浏览器完全不存储任何响应副本,可以在响应头中额外添加no-store参数。

内容的提问来源于stack exchange,提问作者Hairi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:45:05