设置图像上传到Google Cloud Storage

您是否希望使用 Google Storage 进行图片上传?以下是操作步骤:

  • 如果您还没有默认的 Google 项目,请先设置一个 默认 Google 项目

  • 获取一个 开发者密钥

  • 通过访问 此处 创建一个存储桶。输入一个唯一的名称,并选择默认的存储类别(我使用的是美国境内的多区域存储)。

现在我们需要配置 Discourse 实例。进入设置,添加一个针对 S3 的过滤器。然后进行以下更改:

  • 如果您希望启用手动或自动备份,请勾选“enable s3 backups”复选框。

  • 如果已勾选 enable s3 backups,请在“s3 backup bucket”中输入上面创建的存储桶名称。

  • 在各自的文本字段中粘贴“Access Key ID”和“Secret Access Key”(这些是在创建开发者密钥时生成的)。

  • s3_endpoint 中,粘贴以下端点:

    • https://storage.googleapis.com

完成!尝试上传图片,一切应该会神奇地正常工作 :slightly_smiling_face:


若要从您的域名直接“提供”图片,请遵循以下步骤:

  • 确保您的存储桶可公开访问。不过,它需要通过对象级别的权限进行设置。

  • 如果您还没有负载均衡器,请设置一个。对于后端,创建一个后端存储桶,将其指向上面创建的存储桶,启用 CDN,并连接它。

  • 对于 URL 映射,创建两条规则。两者的主机都需设置为 *;路径需设置为 /original/*/optimized/*;后端需指向后端存储桶——保存设置。

  • 在 Discourse 设置中,将 s3 cdn url 更改为您的域名——请确保这与您的负载均衡器规则设置相一致。

完成——图片现在应来自 www.yourdomain.com/


正如 @tuanpembual此帖子 中善意指出的那样,现在备份已成为可能。基本上,您需要:

  1. 进入 Google Cloud Console 中的您的项目
  2. 选择 Storage
  3. 选择您的存储桶
  4. 进入权限选项卡
  5. 添加新权限,用您的服务账号邮箱填写您的账号。对于角色,选择 Storage Legacy Object Owner
  6. 保存并完成。
19 个赞