Discourse 配置Amazon S3 问题

hello!大家好,我又碰到问题了 :sweat_smile:
这次是S3的配置问题

我创建了一个S3存储桶,配置为公开访问


discourse后台里填写的 Access id 和key 都是根用户的全权限,应该不是权限问题

图片上传后无法访问,但s3里确实有这个文件上传了


后台错误日志

Message (4 copies reported)

Could not find file in the store located at url: //whitewatercn-discourse.s3.dualstack.ap-northeast-1.amazonaws.com/original/1X/b7d473eff30ea43ff483af907f62013387cae9c8.jpeg

Backtrace

/var/www/discourse/app/models/optimized_image.rb:70:in `block in create_for'
/var/www/discourse/app/models/optimized_image.rb:18:in `block in lock'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/app/models/optimized_image.rb:18:in `lock'
/var/www/discourse/app/models/optimized_image.rb:62:in `create_for'
/var/www/discourse/app/models/upload.rb:130:in `get_optimized_image'
/var/www/discourse/app/models/upload.rb:119:in `create_thumbnail!'

感觉是你安装的路径问题不正确。

拷贝这个 URL 到浏览器上,看能不能访问。

如果这个 URL 在自己浏览器上都不能访问的话,那么说明配置有点问题。

图片能够上传,我觉得你的 Key 没有问题。

另外,我注意到你的存储桶的后面多了一个 data。

URL 这里配置不对?

可选方案

另外,你可以和我们一样使用 一个二级域名的方案。

我们的所有图片是通过 CDN 二级域名的方案来访问的。

通过在 S3 里面配置 CloudFront。

浏览器 F12 查看下 JS 代码,就可以看到的。

上图显示了我们 CDN 二级域名的配置。

自己乱鼓捣,打开ACL就搞定了

amazon s3设置


discourse设置

1 Like

搞定了就好。

S3 的使用能够非常大的扩展存储和对系统资源的消耗,我个人还是比较认可这种存储方式。

1 Like