我一直在关注这篇文章:
https://forums.aws.amazon.com/message.jspa?messageID=484342#484342
因此,每当我生成预签名 URL 时,我都不会显示我的 AWS 访问密钥 ID。
url = s3_client.generate_presigned_url('get_object', Params={'Bucket': Bucket, 'Key': Key})
s3_client.put_object(Bucket="dummybucket, Key=other_key, WebsiteRedirectLocation=url)
我的"假桶"有ACL='public-read'
因此,每当我尝试访问http://dummybucket.s3.amazonaws.com/other_key
时,我都会被拒绝访问,而不是我尝试获取的原始对象。
我还将一个文件上传到"other_bucket"中,我可以从浏览器访问该精细文件。
我没有做过的事情:
- 将策略添加到我尝试访问的 S3 存储桶
- 为 S3 存储桶启用网站配置
编辑:我也清除了浏览器缓存
我意识到我有错误的 S3 存储桶网址来执行重定向。*bucket_name*.s3-website.*region*.amazonaws.com