上面的帖子是否仍然是允许管理员进行设置的有效指南?如果不是,是否有其他地方可以找到 2024 年的正确 S3 指南?据称这是 Discourse 团队官方支持的。
我们按照上面的指南进行了实现,但图片在 Discourse 实例上显示为损坏,尽管它们已上传到 S3。
我们的流程
-
按照上面的指南设置 S3 存储桶本身以及 S3 中的策略(所有步骤都已准确遵循)
-
按照上面的指南在 app.yml 和管理员中设置环境变量(相同)
-
重新构建应用程序
-
完全没有使用 CDN,因为我们认为 CDN 是可选的,并且在没有 CDN 的情况下也应该可以工作。
结果:
- 图片已上传到 Discourse 的存储桶
- 帖子中的链接已由 Discourse 正确替换为类似以下的亚马逊链接:
xxx-bucket.s3.dualstack.us-east-1.amazonaws.com/original/1X/a1b21eb5de071799d4b5e5215619d11d28602dfe.jpeg - 链接无法访问(假设是因为官方指南中的 S3 策略)
对官方指南中 S3 策略的假设更改。Principal:此策略未指定 Principal,这意味着它适用于任何拥有正确权限的已认证用户。如果要允许匿名(公开)访问,我们需要指定\"Principal\": \"*\"。这也可能不是一个好的解决方案,因为它会使存储桶公开。
这是假设,因为我们希望有人能在 2024 年更新指南以使其正确。