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에서 짧은 URL을 클릭하면
http://qiniu-s3.s3-ap-southeast-1.qiniucs.com/original/2X/e/effbf521dc7f117e7d9b57ed41b2cac576bf39d5.txt로 연결되지만, 올바른 URL은 endpoint url이 아닌 cdn url을 사용해야 합니다.

이 문제를 어떻게 해결할 수 있을까요?

PS
제 사이트에서는 S3 매개변수가 app.yml이 아니라 패널에서 설정되어 있습니다.

에셋을 사전 컴파일하고 S3에 푸시하기 위한 rake 작업을 실행하셨나요?
Set up file and image uploads to 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을 사용하지 않겠습니다.

다시 한번 감사합니다!