paresy
(Michael)
1
我已经搜索并研究了关于此问题的所有主题和教程。
当我尝试打开“备份”页面时,我总是收到此错误:
尝试加载 /admin/backups.json 时出错
当我打开 /admin/backups.json 时,我只收到一个通用的“拒绝访问”错误。
我不明白的是,在我的 EC2 实例中使用以下命令可以正常工作:
aws s3 ls s3://my-bucket-name
并且在进入 discourse 容器后(使用 ./launcher enter app),在安装 s3cmd 后,我也可以成功运行此命令:
s3cmd ls s3://my-bucket-name
我也可以使用这些命令将文件上传到我的存储桶,因此 IAM 策略应该没问题,我不明白为什么 Discourse 无法访问该存储桶。我还尝试向 IAM 角色添加“AdministratorAccess”以排除任何权限过于严格的问题。
Discourse 中的配置:
backup location: S3
s3 backup bucket: my-bucket-name
s3 use iam profile: true
s3 region: the correct one. tripple checked.
其余的 s3 选项均未更改 → 因此大部分为空/已禁用。
有什么想法可能出错了?
谢谢!
maiki
(maiki)
2
我不确定这是否与您的 S3 设置有关,这听起来像是 Discourse 内部的权限消息。您是否能够加载 /admin/backups 页面(而不是在末尾附加 .json)?
1 个赞
Falco
(Falco)
3
调试此类问题的最简单方法是检查 Cloudtrail 日志。
paresy
(Michael)
4
这是一个很棒的提示。我能够追踪到权限错误并发现 Discourse 正在使用不同的用户。现在来探讨一下为什么之前没有人遇到这个错误。
我们有一个自定义插件,用于通过 AWS SNS 发送推送通知,该插件通过 Aws.config.update 全局设置凭证,因此 S3 Backup 似乎也使用了错误的凭证,而这些凭证显然没有所需的权限。
我们现在将修复我们的插件,以便本地提供凭证/区域,并支持 EC2 IAM 角色,我目前更倾向于后者 
感谢您指明了正确的方向!
paresy
2 个赞
system
(system)
关闭
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.