无法编辑带有 S3 后端图片的帖子

大家好,

我们遇到了一个奇怪的问题。

我们的环境设置如下:

  • Discourse: 2.8.0.beta2
  • S3: Minio
  • CDN: Myra

S3 配置如下:

root@assets-prod-app01:~# sudo -u minio mc admin policy info minio readwrite-discourse
{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Effect": "Allow",
   "Action": [
    "s3:ListBucketMultipartUploads",
    "s3:GetBucketLocation",
    "s3:ListBucket"
   ],
   "Resource": [
    "arn:aws:s3:::discourse"
   ]
  },
  {
   "Effect": "Allow",
   "Action": [
    "s3:*"
   ],
   "Resource": [
    "arn:aws:s3:::discourse/*"
   ]
  }
 ]
}

但每次编辑时,我们都会收到以下错误信息:

日志文件中显示:

Aws::S3::Errors::NotImplemented (您提供的某个标头暗示了未实现的功能)
lib/file_store/s3_store.rb:279:in `update_ACL'
lib/file_store/s3_store.rb:209:in `update_upload_ACL'
...

是我们遗漏了某个配置,还是 Minio 与 Discourse 不兼容?

任何提示都将不胜感激,因为我们的用户已经有些施压了 :frowning:

提前感谢。

这个设置真的如此少见吗?

希望能得到一些指导,告诉我需要进一步查看什么或更改什么?@Falco 目前我们有些卡住了……:frowning:

您是否启用了站点设置 secure_uploads?这在 MinIO 上完全无法工作。

@Falco

很遗憾不行……

S3 设置是否按照 使用对象存储进行上传(S3 与克隆) 中的文档进行了配置?

没错,真的是逐字逐句的 :slight_smile:

抱歉打扰了,您能帮忙看看有什么问题吗?

嗨,有什么想法吗?抱歉打扰了……

嘿,

今天我升级到了 2.8.0.beta2,错误依旧:


只需选择 secure_media,MinIO 就能再次正常工作。

image

@pmusaraj / @martin 看起来这是一个由以下提交引起的回归问题:

该提交未考虑到之前由以下提交修复的相同问题:

因此,post_creator 执行了:

models/post 中:

1 个赞

这个问题之前已经出于性能原因修复过,同时也应该能解决您的问题:

不过,我确实会对该任务进行修复,以便在禁用安全媒体时提前退出。

实际上,我无法执行上述操作,因为如果禁用了安全媒体,或者帖子已被移动到不同的分类,我们仍希望将帖子上传标记为不安全。相反,我将在运行 Discourse.store.update_upload_ACL(self) 时添加一个修复,以捕获 Aws::S3::Errors::NotImplemented 错误。这样,不支持私有 ACL 的客户端就不会遇到问题。

编辑:我今天已合并此修复,希望能有所帮助 https://github.com/discourse/discourse/pull/13675。我想我们下周也会发布一个新的测试版。

3 个赞

本主题已在 3 天后自动关闭,不再接受新回复。