强制推送到AWS S3上的heroku映像后未显示(403)

时间:2013-08-01 04:02:18

标签: git heroku amazon-s3

我一直在为heroku上的朋友更新应用。 所有应用程序和heroku安装都是由其他人设置的。

所以我用github的新代码克隆了一个repo并做了我的更新。 当然,推动这些变革需要失败。 所以我发了

git push -f production heroku_branch:master

生产地点:

[remote "production"]
    url = git@heroku.com:<our-app-name>.git
    fetch = +refs/heads/*:refs/remotes/production/*

这似乎有效但现在所有图像都没有显示。 图像在S3上。 浏览器对所有图像说403。 但是,发布

heroku config

确认已设置所需的变量(AMAZON_ACCESS_KEY_ID,AMAZON_SECRET_ACCESS_KEY,S3_BUCKET_NAME)

我能错过什么?

1 个答案:

答案 0 :(得分:0)

看起来很奇怪,但在添加了一个存储桶策略后,它似乎有效。 我不确定这是否可行,heroku文档没有说明存储桶策略......并且创建存储桶策略非常神秘!不喜欢。

另外因为政策看起来像这样:

{
  "Version":"2008-10-17",
  "Statement":[{
    "Sid":"AddPerm",
        "Effect":"Allow",
      "Principal": {
            "AWS": "*"
         },
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::bucket/*"
      ]
    }
  ]
}

基本上授予任何人访问权限。不确定是否需要复制才能授予任何人访问权限?也许我甚至不确定是否要授予任何人访问权限......但也许它需要如此?否则人们将如何从浏览器访问图像...

这里有太多问题:(