将s3始终包含在其响应中包含一个不同的标题

问题描述 投票:0回答:1
Vary

标题,则响应不包括

Origin
标头,该响应留下了中间缓存(例如CDN),可以自由缓存响应,并在以后的请求进来,甚至是如果以后请求添加
Vary
标题。
如何让S3始终返回
Origin
标头?
    

newer回答2025年:

自2014年以来,
S3和CloudFront已经走了很长一段路,包括对

lambda@edge
amazon-s3 http-headers cors cdn
1个回答
7
投票
cloudfrontfunctions的添加了支持。 这些天来是更好的解决方案。 2014年的原始答案:

为什么

为什么,但简短的答案是:您不能。无论如何不是目前

[tl; dr] INS3,Vary不是用户可配置的标头。尽管S3可以输送CORS标题,但CloudFront没有明确的支持。

如果您的最终目标是将CORS-Enables内容从CloudFront使用S3作为您的来源传递,那么我最终通过部署位于S3和CloudFront之间的应用程序来解决此问题,该应用程序代表请求并始终添加正确的CORS标题对于S3的响应,使CloudFront缓存了正确的数据。

pros:

Cloudfront与S3数据一起缓存CORS响应标头。 Cloudfront继续进行100%的性能。 代理应用程序很小,可以在t1.micro上运行。

CONS:

不像S3+CloudFront正确合作以供CORS请求进行直接直接。

写入和部署应用程序。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.