Amazon s3 云峰赢了';t从S3源设置过期标头
我使用一个S3存储桶为一个大型网站存储一组产品图片。这些图像通过Cloudfront提供,S3存储桶作为源。我注意到Cloudfront没有在映像上放置过期标头,尽管我已将分发行为设置为自定义缓存标头,并在Cloudfront中设置了long min、max和default TTL 我知道我可以在S3对象上设置一个过期,但是这将是非常不切实际的,因为我有数以百万计的图像。我希望cloudfront能为我添加这个标题,但事实并非如此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中遗漏了一些可以帮我做到这一点的东西?Cloudfront的TTL配置只控制Cloudfront将对象保留在缓存中的时间量 它不添加任何标题 因此,是的,您需要在S3中的对象上设置这些 请注意,
缓存控制:
通常被认为是比过期:
更好的选择
避免更新onject的另一种方法是在EC2中与bucket位于同一区域的代理服务器上进行配置,并让服务器在响应通过时添加头
Request: CloudFront >> Proxy >> S3
Response: S3 >> Proxy >> CloudFront
…为了它的价值。谢谢。我正在运行一个脚本来更新它们。不过我会把代理的想法放在工具箱里。