问题描述
我在存储桶上设置了以下值的缓存控制键:public,max-age = 86400。这显示在响应标头中,但未缓存图像。图像返回200。我正在使用活动存储,s3和CloudFront。
///下面的响应头///
Accept-Ranges: bytes
Cache-Control: public,max-age=86400
Content-disposition: inline; filename="xhbtr_ba6c7e14-cab0-44c2-8701-e48aa75ab3f7_w1200.jpg"; filename*=UTF-8''xhbtr_ba6c7e14-cab0-44c2-8701-e48aa75ab3f7_w1200.jpg
Content-Length: 1444501
Content-Type: image/jpeg
Date: Mon,14 Sep 2020 15:15:21 GMT
ETag: "18c45e75803b2a82c0a85dc4dde7bba4"
Last-Modified: Mon,14 Sep 2020 14:00:44 GMT
Server: AmazonS3
x-amz-id-2: /6ynYC2FE4QwOaVJe1uJOBeCsJhfKFzNbMu+X7r0L5pRyax2JoxzJ5qoyO0Sb7dr09yFxZYj5/iE=
x-amz-request-id: 415DC4198F2ED5F1
解决方法
Server: AmazonS3
您正在查询S3。 S3没有缓存。 (cache-control
指令是针对客户端而不是服务器的。)
您可能想要使用Cloudfront作为边缘缓存。 Cloudfront松散地遵循用于ege缓存的cache-control指令(取决于您如何配置它)。由于您在问题中提到Cloudfront,因此我想您已经设置好了。因此,不要调用S3 URL,而要使用在Cloudfront配置中设置的URL。