AWS CloudFront 利用浏览器缓存

AWS CloudFront Leverage browser caching

有谁知道如何正确设置 CloudFront 缓存?我在 S3 和 CloudFront 中有一个 Jekyll 网站,设置如下:

路径模式:默认 (*)

最小 TTL:86400
最大 TTL:604800
默认 TTL:86400

但是当我使用 Pingdom.com 或 PageSpeed Insights 时,我收到一条消息:

以下可缓存资源的新鲜度较短。为以下资源指定至少一周后到期

您在 CloudFront 中配置的 TTL 与 CloudFront 的内部缓存有关,而不是在每个浏览器级别上。

本质上,您是在告诉 CloudFront 将文件在其 Edge 中保留至少 86400 秒等。

要将 maximum/minimum TTL 传递给浏览器,您需要向请求的文件添加 Cache-Control HTTP header。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html