Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 云峰赢了';t从S3源设置过期标头_Amazon S3_Amazon Cloudfront_Content Expiration - Fatal编程技术网

Amazon s3 云峰赢了';t从S3源设置过期标头

Amazon s3 云峰赢了';t从S3源设置过期标头,amazon-s3,amazon-cloudfront,content-expiration,Amazon S3,Amazon Cloudfront,Content Expiration,我使用一个S3存储桶为一个大型网站存储一组产品图片。这些图像通过Cloudfront提供,S3存储桶作为源。我注意到Cloudfront没有在映像上放置过期标头,尽管我已将分发行为设置为自定义缓存标头,并在Cloudfront中设置了long min、max和default TTL 我知道我可以在S3对象上设置一个过期,但是这将是非常不切实际的,因为我有数以百万计的图像。我希望cloudfront能为我添加这个标题,但事实并非如此 所以,我的问题是,只有这样才能让这个过期头在每个S3对象上应用它

我使用一个S3存储桶为一个大型网站存储一组产品图片。这些图像通过Cloudfront提供,S3存储桶作为源。我注意到Cloudfront没有在映像上放置过期标头,尽管我已将分发行为设置为自定义缓存标头,并在Cloudfront中设置了long min、max和default TTL

我知道我可以在S3对象上设置一个过期,但是这将是非常不切实际的,因为我有数以百万计的图像。我希望cloudfront能为我添加这个标题,但事实并非如此


所以,我的问题是,只有这样才能让这个过期头在每个S3对象上应用它,或者我在Cloudfront中遗漏了一些可以帮我做到这一点的东西?

Cloudfront的TTL配置只控制Cloudfront将对象保留在缓存中的时间量

它不添加任何标题

因此,是的,您需要在S3中的对象上设置这些

请注意,
缓存控制:
通常被认为是比
过期:
更好的选择


避免更新onject的另一种方法是在EC2中与bucket位于同一区域的代理服务器上进行配置,并让服务器在响应通过时添加头

Request:  CloudFront >> Proxy >> S3
Response: S3 >> Proxy >> CloudFront

…为了它的价值。

谢谢。我正在运行一个脚本来更新它们。不过我会把代理的想法放在工具箱里。