好的,所以当我运行Google Page Tools时,我注意到我的Cloudfront没有缓存,它告诉我我的图片没有过期设置。我通过Cloudfront使用Amazon S3。在S3上没有设置标题,因为我有数百个文件夹和数千个图像文件,每小时都会上传新文件夹。
我去了我的Cloudfront控制台,对于行为,编辑了那里唯一的一个并设置:
Minimum TTL: 86400
Maximum TTL: 31536000
Default TTL: 86400
我检查了“定制”' '对象缓存的选项'。然后我去了无效并使我的所有对象无效(*)。我一直等到它完成,但是在请求文件时我的标题仍显示:
Age:8
Connection:keep-alive
Date:Mon, 07 Dec 2015 00:44:39 GMT
ETag:"429d87a5fd35288d207635d2a853fa0b"
Server:AmazonS3
Via:1.1 (my-ID-here).cloudfront.net (CloudFront)
X-Amz-Cf-Id:RxHlfhhnrSk9YwIqpFySnPVrscndnknZ9RKlIryXCLwh4RCK9vK6Vw==
X-Cache:Hit from cloudfront
我做错了什么?
答案 0 :(得分:0)
这是在“利用浏览器缓存”还是页面工具的类似部分?
如果在“利用浏览器缓存”下, - 这并不意味着文件没有被缓存,但这意味着所请求的文件不会请求最终用户浏览器缓存它们 - 例如使用'缓存 - 控制'或'过期'标题。除非另有配置,否则CloudFront会缓存来自S3的文件 - 因此缺少这些标头不会影响 Cloudfront的缓存。
您可以在S3中为各个对象手动添加这些内容。 可以在CloudFront documentation
中找到更多信息