在静态网站上使用 AWS 签名版本 4 查询参数
Query parameters with AWS signature version 4 on static website
我可以按照 https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html 上的亚马逊文档获取 AWS 签名版本 4 的查询参数,但我无法使用查询参数在静态网站上执行 GET。例如,如果有一个桶 testbucket
,https://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 响应转发给另一台主机。该博客 post 不假设一个人正在使用签名版本 4 查询参数,这让我感到困惑。
我的问题是:如何设置签名版本 4 查询参数以使用静态网站?
我已尝试将签名者的端点 url 更改为 http://testbucket.s3-website-us-east-1.amazonaws.com/key
。
AWS 预签名仅适用于 S3 API 调用。那些被处决的人 s3.amazonaws.com
.
网站端点不支持API AWS 身份验证。这就是它对您不起作用的原因。
当您使用 S3 托管使用预签名 URL 保护的文件时(例如),必须使用 API 端点而不是网站端点提供文件。
我可以按照 https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html 上的亚马逊文档获取 AWS 签名版本 4 的查询参数,但我无法使用查询参数在静态网站上执行 GET。例如,如果有一个桶 testbucket
,https://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 响应转发给另一台主机。该博客 post 不假设一个人正在使用签名版本 4 查询参数,这让我感到困惑。
我的问题是:如何设置签名版本 4 查询参数以使用静态网站?
我已尝试将签名者的端点 url 更改为 http://testbucket.s3-website-us-east-1.amazonaws.com/key
。
AWS 预签名仅适用于 S3 API 调用。那些被处决的人 s3.amazonaws.com
.
网站端点不支持API AWS 身份验证。这就是它对您不起作用的原因。
当您使用 S3 托管使用预签名 URL 保护的文件时(例如),必须使用 API 端点而不是网站端点提供文件。