我已经为此摸不着头脑好几天了。目前正在学习Rails 教程的第 13 章(用户微博),虽然我的应用程序在开发中运行良好,但我似乎无法将图像上传到在生产中运行的 AWS S3(详细信息请参见教程)。该应用程序利用 ASW S3 存储桶进行存储,并利用CarrierWave /Fog gems 进行文件上传。
当我打开我的生产 Heroku 应用程序时,除了图像上传之外,一切正常。当我尝试在新的微帖子上上传图像时,我收到一条通用信息“很抱歉,但出了点问题”。浏览器中的错误。尝试访问存储桶时,Heroku 日志显示 :status 403 错误“Forbidden”(详细日志如下)。
其他人似乎也有类似的问题。在大多数情况下,解决方案似乎是设置适当的 IAM 用户权限或设置 S3 存储桶策略,但我相当有信心我已正确设置这些权限,原因有两个:
尽管如此,我还是尝试了几种存储桶策略和用户权限,包括 Amazon S3 完全访问权限(我相信这是最通用的),以及几个更具体的版本(请参阅下面的最新版本)。
我尝试过的其他似乎对其他人有用的事情:
config.delete_tmp_file_after_storage = false——两个成功的例子:1 | 2作为一名新开发人员,我觉得我还没有成熟的技术来诊断这个问题,坦率地说,这有点令人沮丧,所以我希望得到帮助。以下是我的一些问题以及我想进一步研究的可能的调查线索: