S3 和 Cloudfront - 设置不起作用

大家好!

我遵循了本指南来设置S3。

我唯一找不到的选项是“确保选中“编程访问”复选框”。

我找不到任何这样的选项。

但是S3无法正常工作。

备注:CDN通过CloudFront(S3是CloudFront的源)

谢谢

您正在运行的 rake 任务坚持认为指定的值在环境变量中,它不会使用站点设置中的值。

2 个赞

感谢您的回复。

我使用了 rake,以为图片网址会被替换为 CDN 链接。

但 S3 设置本身不起作用。

我在 S3 配置中遗漏了什么吗?

是的,您需要设置环境变量才能运行 rake 任务以迁移到 S3。

我还不明白。希望您已经审查了我的 discourse 设置。

除了本指南之外,还需要采取其他步骤吗? Set up file and image uploads to S3

您可以在此处获取所需环境变量的概述:
Configure an S3 compatible object storage provider for uploads

编辑:在 rake 命令的上下文中,请参阅下面的答案 :point_down:

or from the error:

They must be set in the environment, not in site settings.

You can provide them at the time the rake task is run by doing e.g.:

DISCOURSE_S3_BUCKET=foo DISCOURSE_S3_REGION=us-east-1 DISCOURSE_S3_USE_IAM_PROFILE=true rake uploads:migrate_to_s3

好的!

我将把这个添加到 app.yml

示例:

DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: us-west-1
  DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
  DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
  DISCOURSE_S3_CDN_URL: https://falcoland-files-cdn.falco.dev
  DISCOURSE_S3_BUCKET: falcoland-files
  DISCOURSE_S3_BACKUP_BUCKET: falcoland-files/backups
  DISCOURSE_BACKUP_LOCATION: s3

请阅读迈克尔的回答!

由于我的安装是全新的!

我唯一担心的是新图片。我按照文章的建议进行了 Rake 操作。

我以为只需通过 Discourse 管理员添加 S3 设置就足以从 S3 提供新图片!

请参阅为上传配置 S3 兼容对象存储提供商

2 个赞

是的,由于我的设置是 S3 和 Cloudfront,我添加了如下的 S3 代码。

现在正在重新构建。希望 S3 能正常工作!

没用!我认为有什么与 S3 权限相关的东西丢失了!

有什么建议吗?

这里有 3 个部分:

  • Discourse 能否读取/写入存储桶?
  • 匿名用户能否从存储桶读取?
  • CDN 能否从存储桶读取?

看起来是第二部分不起作用?

4 个赞

请审阅我的设置,并告知我是否遗漏了任何内容:S3 和 CloudFront CDN

根据 此指南

创建了两个存储桶:

一个用于 CDN(也启用了 ACL)
一个用于备份
通过添加两个存储桶创建了策略,并将其附加到 IAM 用户,然后生成了访问密钥。

创建了两个 CloudFront 分配:

  1. cdn.mysite.com(源是 cdn 存储桶),通过配置 CNAME。

  2. assets.mysite.com(源是 mysite.com)(社区在主域上,而不是子域上),通过配置 CNAME。

根据 此指南

将 AWS S3 代码和配置添加到了 app.yml,如下所示:

谢谢。

非常感谢 @pfaffman \n\n他给了我关于在主机地址中使用www的提示。我的论坛之前使用的是非 www 版本!\n\n我已更改为 www 版本并重建!\n\n现在所有功能都运行正常,包括 CDN 和资源!\n\n谢谢。

1 个赞

我不太明白那是怎么解决的,但很高兴你解决了!

2 个赞

正如我在此解释的那样,在我完成此操作后,网站就离线了。因此,我无法看到其结果。但是,当我尝试在测试子域上进行相同的设置时,一切都运行正常。因此,我怀疑 SSL 有问题。

根据您关于 www 的提示,我更改了主机地址,问题立即得到解决。

我也怀疑该网站可能因为Cloudflare 最近的服务中断而离线。

总之,问题已经解决了。

谢谢!

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.