【问题标题】:S3 redirect to codebuild badge with x-amz-website-redirect-location headerS3 使用 x-amz-website-redirect-location 标头重定向到 codebuild 徽章
【发布时间】:2019-07-29 23:15:23
【问题描述】:

我想在我的 s3 存储桶中放置一个对象,该对象将重定向到我的代码构建徽章。

我通过以下命令获得代码构建徽章:

CODEBUILD_BADGE_URL=$(\
  aws codebuild batch-get-projects \
    --name Push \
    --query "projects[0].badge.badgeRequestUrl" \
    --output text \
)

接下来,我将获得 unknown.svg 徽章以防我的 codebuild 徽章 url 发生变化,并设置对象 --metadata 以配置 website-redirect-location

我的尝试是:

curl https://s3.amazonaws.com/codefactory-us-east-1-prod-default-build-badges/unknown.svg > ./badge.svg
aws s3 cp ./badge.svg s3://example.com/badge --metadata "Website-Redirect-Location=$CODEBUILD_BADGE_URL"

我还添加了这个元数据,以防上面的错误:

aws s3 cp ./badge.svg s3://example.com/badge --website-redirect $CODEBUILD_BADGE_URL

当我访问:http://example.com/badgehttps://s3.amazonaws.com/example.com/badge 时,我会得到 unknown.svg 徽章。

请求具有以下响应标头:

x-amz-meta-website-redirect-location: https://codebuild.us-east-1.amazonaws.com/badges?uuid=eyJlbmlong%3D&branch=master
x-amz-request-id: D83EBREQUESTID
x-amz-website-redirect-location: https://codebuild.us-east-1.amazonaws.com/badges?uuid=eyJlbmlong%3D&branch=master

和一个 200 响应代码。

我的 example.com 存储桶属性已将 Static website hosting 配置为 Bucket hosting

如何配置此对象以重定向到所需的代码构建 url?这是解决此类问题的合理方法吗?

【问题讨论】:

    标签: amazon-web-services redirect svg amazon-s3 http-status-code-302


    【解决方案1】:

    等了一天左右就成功了,我只需要:

    aws s3 cp ./badge.svg s3://example.com/badge --metadata "Website-Redirect-Location=$CODEBUILD_BADGE_URL"
    

    不需要--website-redirect

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      相关资源
      最近更新 更多