【问题标题】:Query parameters with AWS signature version 4 on static website在静态网站上使用 AWS 签名版本 4 查询参数
【发布时间】:2018-07-12 08:01:00
【问题描述】:

按照https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html 上的亚马逊文档,我可以使用 AWS 签名版本 4 正确获取查询参数,但我无法在带有查询参数的静态网站上执行 GET。例如,如果有一个桶 testbuckethttps://s3.amazonaws.com/testbucket/key?<QUERY_PARAMS> 可以正常工作,但 http://testbucket.s3-website-us-east-1.amazonaws.com/key?<QUERY_PARAMS> 不能正常工作。最终我会使用 Cloudfront 地址来获取 https,因为静态网站不支持开箱即用的 https,但第一步是让它与静态网站一起使用。

我想让这个在静态网站上运行,这样我就可以关注https://aws.amazon.com/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/,这需要将 404(和 403)GET 响应转发到另一个主机。那篇博文没有假设有人使用签名版本 4 查询参数,这让我很头疼。

我的问题是:如何设置签名版本 4 查询参数以使用静态网站?

我已尝试将签名者的端点 URL 更改为 http://testbucket.s3-website-us-east-1.amazonaws.com/key

【问题讨论】:

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


    【解决方案1】:

    AWS 预签名签名仅适用于 S3 API 调用。那些被s3.amazonaws.com处决的人。

    网站端点不支持 API AWS 身份验证。这就是它不适合您的原因。

    当您使用 S3 托管使用预签名 URL(例如)保护的文件时,必须使用 API 端点而不是网站端点来提供文件。

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 2021-07-05
      • 2017-08-09
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 2018-09-13
      相关资源
      最近更新 更多