s3 cdn url 设置无效

大家好!

s3 cdn url 设置对于照片效果很好,但对其他类型的文件无效。看起来 s3 cdn url 被上传文件的 endpoint url 替换了。

例如,我的 s3 cdn url 是 http://qiniu.pengfeima.cn,我的 s3 endpoint url 是 http://qiniu-s3.s3-ap-southeast-1.qiniucs.com。当我点击 discourse 上的短链接时,它链接到
http://qiniu-s3.s3-ap-southeast-1.qiniucs.com/original/2X/e/effbf521dc7f117e7d9b57ed41b2cac576bf39d5.txt,但正确的 url 应该使用 cdn url 而不是 endpoint url。

我该如何解决这个问题?

PS
在我的网站上,S3 参数是在面板上设置的,而不是在 app.yml 中。

你运行了 rake 任务来预编译资源并推送到 S3 了吗?
设置文件和图片上传到 S3 中所述

我在管理面板上配置了相关设置,但我需要修改 app.yml 然后重建应用吗?我知道该怎么做,但这似乎有风险。

您可以通过以下方式在不重新构建的情况下运行 rake 任务:

./launcher enter app
rake assets:precompile rake s3:upload_assets

非常感谢!

我按照您说的做了,但是我的网站坏了。上传的资源是*.gz.js,存在编码问题。

您正在使用哪个 CDN?

它被称为七牛,这是一家中国的云服务提供商。
https://www.qiniu.com

问题是 CDN 引起的吗?

这是我的设置:

  ## S3 存储
  DISCOURSE_USE_S3: true
  DISCOURSE_S3_REGION: whatever
  DISCOURSE_S3_ENDPOINT: http://s3-ap-southeast-1.qiniucs.com
  DISCOURSE_S3_ACCESS_KEY_ID: *************
  DISCOURSE_S3_SECRET_ACCESS_KEY: *****************
  DISCOURSE_S3_CDN_URL: http://qiniu.pengfeima.cn
  DISCOURSE_S3_BUCKET: qiniu-s3
  DISCOURSE_S3_BACKUP_BUCKET: qiniu-s3/backups
  DISCOURSE_BACKUP_LOCATION: s3

如果您使用 CDN 获取资源,与直接从存储桶获取资源相比,是否会获得具有相同标头的相同文件?

感谢您的耐心等待!

我可以直接下载该文件,链接为 http://qiniu.pengfeima.cn/assets/discourse-6a8036cdae750c5b30dadebc5bb6f5f3d3c205f173e19757ab47eb6314c9d8ec.gz.js。它与在浏览器中下载的 cdn 文件是同一个文件。

1 个赞

上传资源时似乎遇到了一些问题(只有照片是正确的)。我将不再为资源使用 CDN。

再次感谢!

1 个赞