用于存储 Wagtail 媒体文件的 Amazon S3 - 仅在 Heroku 上出现服务器 500 错误
Amazon S3 to store Wagtail media files - server 500 error on Heroku only
我一直在关注 Using Amazon S3 to Store Wagtail Media Files 博客 post 以设置 amazon s3 来存储我的 wagtail 媒体文件
这在我的本地开发服务器上完美运行(所有图像都按预期出现在 S3 存储桶中)。然而,在 Heroku 上部署时,我收到服务器 500 错误,就像上传程序完成并且图像未保存在 S3 存储桶中一样。除了这一行之外,heroku 日志中没有其他详细信息。这使得调试非常困难。我没有将 S3 用于我的静态资产(这些由 whitenoise 处理。将调试更改为 True 没有任何区别。非常感谢任何建议。
2018-08-19T16:56:43.517786+00:00 app[web.1]: 10.7.223.133 - - [19/Aug/2018:16:56:43 +0000] "POST /admin/images/multiple/add/ HTTP/1.1" 500 363 "https://isawebsite.herokuapp.com/admin/images/multiple/add/
更新:通过尝试通过 django-admin 界面而不是 wagtail 上传器上传图片,我得到了一条信息更丰富的错误消息。 调用PutObject操作时发生错误(InvalidAccessKeyId):我们的记录中不存在您提供的AWS Access Key Id。我不明白,因为我的密钥绝对正确.env 文件并被推送到 heroku 配置。这些密钥在本地和 AWS CLI 中工作。
我们解决了这个问题 - Heroku 中 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
的配置值包括周围的引号,例如'QWERTY12345'
而不是 QWERTY12345
。它在本地工作是因为 python-dotenv 从 .env 文件中去除周围的引号:
https://github.com/theskumar/python-dotenv/blob/master/dotenv/main.py#L43
我已经在 https://wagtail.io/blog/amazon-s3-for-media-files/ 更新了博客 post 以澄清这一点。
我一直在关注 Using Amazon S3 to Store Wagtail Media Files 博客 post 以设置 amazon s3 来存储我的 wagtail 媒体文件
这在我的本地开发服务器上完美运行(所有图像都按预期出现在 S3 存储桶中)。然而,在 Heroku 上部署时,我收到服务器 500 错误,就像上传程序完成并且图像未保存在 S3 存储桶中一样。除了这一行之外,heroku 日志中没有其他详细信息。这使得调试非常困难。我没有将 S3 用于我的静态资产(这些由 whitenoise 处理。将调试更改为 True 没有任何区别。非常感谢任何建议。
2018-08-19T16:56:43.517786+00:00 app[web.1]: 10.7.223.133 - - [19/Aug/2018:16:56:43 +0000] "POST /admin/images/multiple/add/ HTTP/1.1" 500 363 "https://isawebsite.herokuapp.com/admin/images/multiple/add/
更新:通过尝试通过 django-admin 界面而不是 wagtail 上传器上传图片,我得到了一条信息更丰富的错误消息。 调用PutObject操作时发生错误(InvalidAccessKeyId):我们的记录中不存在您提供的AWS Access Key Id。我不明白,因为我的密钥绝对正确.env 文件并被推送到 heroku 配置。这些密钥在本地和 AWS CLI 中工作。
我们解决了这个问题 - Heroku 中 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
的配置值包括周围的引号,例如'QWERTY12345'
而不是 QWERTY12345
。它在本地工作是因为 python-dotenv 从 .env 文件中去除周围的引号:
https://github.com/theskumar/python-dotenv/blob/master/dotenv/main.py#L43
我已经在 https://wagtail.io/blog/amazon-s3-for-media-files/ 更新了博客 post 以澄清这一点。