【问题标题】:Can I upload to CloudFront directly from the browser?我可以直接从浏览器上传到 CloudFront 吗?
【发布时间】:2020-01-12 01:22:15
【问题描述】:

既然 CloudFront supports POST requests,是否可以将基于浏览器的上传直接上传到 CloudFront?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudfront


    【解决方案1】:

    理论上,是的。但是,除了来自浏览器的最简单的上传请求之外,对任何内容的支持都存在非常严重的问题。例如,无法使用分段上传 API 通过 CloudFront 上传到 S3,因为 CloudFront 从所有这些请求中删除了 Authorization 标头。亚马逊似乎不愿意解决这个问题。这意味着如果您以 CF 端点为目标或进行任何需要授权标头的 REST 调用,则无法支持来自浏览器的分块请求。

    还有一个问题会阻止您定位不同的 CloudFront 分发终端节点(以便更轻松地定位来自同一 CF 域的不同 S3)。

    【讨论】:

    • 已确认。您只需将 CloudFront 分配的 url 放在 POST 请求中,而不是 S3 存储桶的 url。幸运的是,我不需要分块请求或授权标头,所以这些都不是问题。
    • 嗨@yndolok - 你能更新你的帖子吗 - 我正在努力让它自己工作 - 你是怎么做到的?
    • @waxical 您好,抱歉回复晚了。以下是我认为有帮助的几篇文章:aws.amazon.com/articles/1434pjambet.github.io/blog/direct-upload-to-s3。执行与基于浏览器上传到 S3 完全相同的所有操作,但使用 CloudFront 分配的 url 而不是 S3 存储桶 url。
    • 现在似乎保留了 Authorization 标头:docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
    • CF 是一团糟。通过 CF 通过 REST API 上传到 S3 时存在许多问题。一些标题仍然被剥离。我最终使用不同的 CDN 来处理 S3。
    猜你喜欢
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2011-08-11
    • 2013-09-06
    • 2016-03-27
    • 2015-11-01
    • 1970-01-01
    相关资源
    最近更新 更多