繁体   English   中英

AWS CloudFront 只会使整个缓存失效

[英]AWS CloudFront will only invalidate entire cache

我想使特定路径的 CloudFront 缓存条目无效,例如/api/dict/bob/article/1 ,但它没有效果。 我尝试了不同的通配符,例如:

  • /*/1
  • /api/dict/bob/article/*
  • /api/dict/bob/*
  • /api/dict/*

但最后,真正从缓存中删除 object 的唯一失效是 catch-all /*

路径的来源是自定义的(API 网关)

缓存策略:最小 TTL:60,最大 TTL:28800,默认 TTL:10800

缓存键:

  • 查询字符串全部
  • cookies:全部
  • 标头:白名单(一个参数)

更新:我设法使来自 s3 源的 svg 文件无效。 api 源需要x-api-key http-header。 这会有所作为吗?

我认为 * 只能在最后。 您确定它不是客户端缓存并且您等待失效完成吗? 这是一个缓慢的过程,肯定不是瞬间的。 您可以在 UI 上或使用 CLI 跟踪其进度。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

要使文件无效,您可以指定单个文件的路径或以 * 通配符结尾的路径,这可能适用于一个文件或多个文件,如以下示例所示:

/images/image1.jpg

/图像/图像*

/图片/*

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM