嘿 @mcwumbly。当我能搜索“S3 克隆”时,很容易找到它。我现在找不到它了。那个标题有问题吗?有能找到它的搜索吗?我们能否添加一个(我不记得它叫什么了)功能,以便它能像标准安装一样自动链接某些单词(但我想不到用什么单词)。
作为一个每周多次链接这些主题的人,我有点同意 ![]()
也许在OP正文中添加“s3克隆”有助于搜索?
我在实际使用中发现“S3 兼容”更常见,这也是为什么我在更新文档标题时进行了更改,例如:AWS S3 Compatible Object Storage | MinIO
我认为将其他搜索词放在 OP 正文中的建议是合理的。(我刚刚在这一个中添加了它)。
您好,有人设法让 Contabo 对象存储与 S3 兼容的上传功能正常工作吗?上传时似乎会在 URL 中添加存储库名称作为前缀。
例如,如果您有一个名为 community 的存储桶,它会创建一个类似 https://community.eu2.contabostorage.com 的 URL。
我在 Duplicati 中发现了这种行为,但不能排除它在域中添加存储桶名称作为前缀。
如果您有解决方案,我将不胜感激,因为它的价格非常优惠,可以让我使用此对象存储。
我已经进行了多项测试,以将我的域中的 CNAME 配置为从 Cloudflare 提供 SSL,但对于 community.cdn.midominio.com,SSL 证书不再受保护,因为它们使用通配符,如果我禁用 Cloudflare 的代理,它会抱怨证书不正确。
致意,
您是否尝试将 S3 CDN 设置为 https://community.eu2.contabostorage.com? IMO 那会奏效。
不存在,它是 contabo 端点 eu2.contabostorage.com
是的,但 bucket 中示例文件的最终 URL 是什么?
他的意思是,如果你自己将文件上传到存储桶(使用任何你能用来上传文件的工具),你会使用什么 URL 来访问该文件?
https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad/castopod-1.png
结构是
主机: https://eu2.contabostorage.com/
用户: 9198f3bf2d6e43dd86fab037ebad3aee
存储桶: comunidad
文件: castopod-1.png
那不是一个有效的网址。但我想,如果你把冒号替换成斜杠,它也许可以。
这和你第一篇帖子里的描述不一样,所以也许他现在可以再提个建议。
然后尝试设置
DISCOURSE_S3_CDN_URL: "https://eu2.contabostorage.com/9198f3bf2d6e43dd86fab037ebad3aee:comunidad"
并重新构建。
Cloudflare 的 R2 终于公开发布了(Apparently 耗时一年)。(这是原始公告:https://blog.cloudflare.com/introducing-r2-object-storage/)
我创建了一个存储桶。
我 创建了一个令牌,其中包含:“编辑:允许编辑所有对象的访问权限以及所有存储桶的列表、写入和删除操作”
这是我尝试过的内容:
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: auto
DISCOURSE_S3_ACCESS_KEY_ID: redacted
DISCOURSE_S3_SECRET_ACCESS_KEY: redacted
DISCOURSE_S3_CDN_URL: https://pub-72eaa03782c542edbe00598fd1666be1.r2.dev
DISCOURSE_S3_BUCKET: lc-testing
DISCOURSE_S3_BACKUP_BUCKET: lc-testing/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_ENDPOINT: https://cb46accbfcc3db1bdbba2bce07f8b509.r2.cloudflarestorage.com
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
FORCE_S3_UPLOADS: 1
但是上传资产时出现此错误:
Aws::S3::Errors::NotImplemented: Header 'x-amz-acl' with value 'public-read' not implemented
然后我才想起,正如 Public buckets · Cloudflare R2 docs 中所述,需要使存储桶公开。
但它仍然不起作用。
S3 API compatibility · Cloudflare R2 docs 显示 x-amz-acl 未实现。
查看 Discourse 代码,我并不清楚在不更改核心代码的情况下是否可以使 R2 工作。
禁用上传后,备份可以正常工作,因此 R2 似乎是一种非常便宜的方式来获得 S3 备份。但由于我公开了那个存储桶,备份也是公开的(如果你能猜到文件名),所以如果这个问题解决了,你将需要为备份和上传使用单独的存储桶。
我删除了这一行,并能够看到它上传了一个文件,并且可以使用自定义域作为 s3_cdn_url 来访问它。(对 s3 rake 任务进行类似编辑可以上传资产。)
所以我想我们应该在主题帖中将其标记为不兼容,直到他们实现对象级ACL。感谢您的尝试!
是的。核心中允许跳过设置 ACL 的必需更改似乎相当棘手。你可以说它只适用于备份。如果你不费尽周折使存储桶公开,那应该没问题。
我刚刚测试了 R2,但他们似乎不遵守我们的“Content-Encoding”信息,尽管他们的文档说他们会遵守。也许一年后它就可以使用了。
需要在 MinIO 或常规部分添加一个警告说明。我们需要在此处添加一个通知:“Discourse 在 S3 兼容存储系统上使用 DNS 模式进行路径访问。如果后端仅支持路径模式而不支持 DNS 模式进行存储桶路径访问,则与 Discourse 不兼容。” 这就是为什么 MinIO 最初不在列表上,后来才添加的原因。
我还需更新 MinIO 存储服务器部分 - 我需要将注意事项 #2 修改为以下内容:
- 您已在 MinIO 配置中为域驱动的存储桶路径启用了域支持。这是强制性的,因为 Discourse 不支持 S3 存储机制的非域路径驱动的存储桶路径。
编辑:看起来通过这篇帖子,我获得了会员身份(信任等级 2),因此现在可以编辑 wiki 帖子了。无需版主采取行动,尽管我曾要求他们进行编辑。
太棒了!感谢您在保持内容更新方面的帮助。这看起来是我乐于收到的那种警告。
![]()


