Настройка URL CDN s3 не имеет эффекта

Всем привет!

Настройка CDN-URL для S3 отлично работает для фотографий, но не влияет на другие типы файлов. Похоже, что CDN-URL для S3 заменяется на URL конечной точки (endpoint) для загруженных файлов.

Например, мой CDN-URL для S3 — http://qiniu.pengfeima.cn, а URL конечной точки (endpoint) — 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, а не URL конечной точки.

Как решить эту проблему?

PS
На моём сайте параметры S3 были настроены в панели управления, а не в файле app.yml.

Вы запустили задачу rake для предварительной компиляции ресурсов и загрузки их в S3?
Как описано в статье
Настройка загрузки файлов и изображений в S3

Я настроил соответствующие параметры в панели администратора, но мне нужно изменить app.yml и затем пересобрать приложение? Я знаю, как это сделать, но это кажется рискованным.

Вы можете запустить задачу rake без пересборки следующим образом:

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

Спасибо большое!

Я сделал так, как вы сказали, но мой сайт сломался. Загруженные файлы имеют расширение *.gz.js и проблемы с кодировкой.

Какой CDN вы используете?

Это называется Qiniu, что является китайским провайдером облачных услуг.
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.

Кажется, при загрузке ассетов возникли проблемы (правильно загружаются только фотографии). Больше не буду использовать CDN для ассетов.

Спасибо ещё раз!