s3 cdn url 設定が無効

皆さん、こんにちは!

S3 CDN URL設定は写真にはうまく機能しますが、他の種類のファイルには効果がありません。アップロードされたファイルに対して、S3 CDN URLがエンドポイントURLに置き換えられているようです。

例えば、私のS3 CDN URLはhttp://qiniu.pengfeima.cnで、S3エンドポイント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はエンドポイントURLではなくCDN URLを使用する必要があります。

この問題をどのように解決できますか?

追伸
私のサイトでは、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 でダウンロードされるブラウザで使用されるのと同じファイルです。

「いいね!」 1

アセットのアップロード中に問題が発生したようです(写真のみ正常です)。アセットにCDNを使用するのはやめます。

重ねてお礼申し上げます!

「いいね!」 1