如何为Cloudfront设置缓存标头,以便Google Pagespeed识别它?

toy*_*toy 5 caching http amazon-s3 amazon-cloudfront

我正在通过S3和Cloudfront提供静态内容。但是,Google Pagespeed标记未指定为缓存头,因此我转到了Cloudfront设置并进行了更改。

在此处输入图片说明

一旦发布被部署。Google Pagespeed仍然无法识别。

我还将缓存控制添加到S3上的对象。当我直接从S3中命中对象时,我可以看到响应头,但是当我使用Cloudfront URL时,我看不到缓存控制头。

这是我得到的回应

Accept-Ranges:bytes
Age:641
Connection:keep-alive
Content-Length:44715
Content-Type:image/png
Date:Fri, 17 Jul 2015 18:39:50 GMT
ETag:"e0b19573b90781f60f8865705c80f11d"
Last-Modified:Fri, 17 Jul 2015 17:50:27 GMT
Server:AmazonS3
Via:1.1 (CloudFront)
X-Amz-Cf-Id:
X-Cache:Hit from cloudfront
Run Code Online (Sandbox Code Playgroud)

imp*_*lix 2

根据您提供的 HTTP 响应标头的期限,该对象似乎已在缓存中保存了 641 秒。可能是您在缓存对象后将 Cache-Control 标头添加到 S3 的情况。我建议使该对象无效并再次提出请求。您应该注意到您的 X-Cache 标头将是Miss,这意味着 CloudFront 已转到您的源。

一旦部署了分布。Google Pagespeed 仍然无法识别这一点。

CloudFront 不会修改您的 Cache-Control 标头。这些值仅影响 CloudFront 缓存对象的时间。