【发布时间】:2014-10-30 20:01:36
【问题描述】:
我遇到问题并尝试在论坛中关注答案,但没有任何成功。
为了生成缩略图,我设置了以下架构: 原始图像的 S3 帐户 使用 NGINX 和 Thumbor 的 Ubuntu 服务器 云端
用户将原始图片上传到S3,将通过Ubuntu Server拉取,请求前面有Cloudfront:
http://cloudfront.account/thumbor-server/http://s3.aws...
重要的是,我们经常在 Cloudfront 中丢失对象,我希望它们在缓存中保留 360 天。 我通过 Cloudfront URL 得到以下响应:
Cache-Control:max-age=31536000
Connection:keep-alive
Content-Length:4362
Content-Type:image/jpeg
Date:Sun, 26 Oct 2014 09:18:31 GMT
ETag:"cc095261a9340535996fad26a9a882e9fdfc6b47"
Expires:Mon, 26 Oct 2015 09:18:31 GMT
Server:nginx/1.4.6 (Ubuntu)
Via:1.1 5e0a3a528dab62c5edfcdd8b8e4af060.cloudfront.net (CloudFront)
X-Amz-Cf-Id:B43x2w80SzQqvH-pDmLAmCZl2CY1AjBtHLjN4kG0_XmEIPk4AdiIOw==
X-Cache:Miss from cloudfront
重新刷新后,我得到:
Age:50
Cache-Control:max-age=31536000
Connection:keep-alive
Date:Sun, 26 Oct 2014 09:19:21 GMT
ETag:"cc095261a9340535996fad26a9a882e9fdfc6b47"
Expires:Mon, 26 Oct 2015 09:18:31 GMT
Server:nginx/1.4.6 (Ubuntu)
Via:1.1 5e0a3a528dab62c5edfcdd8b8e4af060.cloudfront.net (CloudFront)
X-Amz-Cf-Id:slWyJ95Cw2F5LQr7hQFhgonG6oEsu4jdIo1KBkTjM5fitj-4kCtL3w==
X-Cache:Hit from cloudfront
我的 Nginx 响应如下:
Cache-Control:max-age=31536000
Content-Length:4362
Content-Type:image/jpeg
Date:Sun, 26 Oct 2014 09:18:11 GMT
Etag:"cc095261a9340535996fad26a9a882e9fdfc6b47"
Expires:Mon, 26 Oct 2015 09:18:11 GMT
Server:nginx/1.4.6 (Ubuntu)
为什么 Cloudfront 不按指示存储我的对象? Max-Age 设置了吗? 非常感谢。
【问题讨论】:
-
您可能没有访问相同的 Cloudfront 位置。每个位置都会单独缓存文件,直到所有位置都有您要缓存的文件,它仍然可以从源中检索它。
-
我已经尝试了好几次,甚至还创建了一个小型 java 应用程序——在我看来,缓存会刷新。一段时间后我已经设置了 max-age,但我认为它会被现有的元素覆盖?
标签: amazon-web-services amazon-s3 amazon-cloudfront ttl