动态选择由CloudFront提供服务的S3对象

时间:2016-08-24 19:18:43

标签: amazon-web-services amazon-cloudfront

是否可以让自定义源服务器告诉CloudFront直接从S3存储桶提供文件,类似于X-Sendfile在Nginx中的工作方式?我想避免从S3读取文件并将其传输到CloudFront。

1 个答案:

答案 0 :(得分:2)

不,这是不可能的。

一旦请求从CloudFront发送到原始服务器,CloudFront将执行的事情(除非发生错误)当然是将原始服务器的响应返回给请求者。

如果CloudFront遵循HTTP重定向({3}},那么实现这一目标的唯一方法就是这样。

如果您希望在请求到达原点后从其他地方返回内容,则必须获取它并将其流回...如果存储桶位于相同的位置,这可能会比您预期的更好region作为源服务器,你的代码很紧。区域内S3的延迟非常低,可用带宽很高。我有一个应用程序可以做到这一点,每天在一个小t2实例上进行数千次,所以它确实可行。

当然,使用单个CloudFront发行版,您可以拥有多个来源 - 例如您的服务器和S3。 CloudFront可以根据路径模式匹配选择哪个来源处理每个请求...但这是一个静态映射,所以我不知道它是否适用于你想要做的事情。