皆さん、こんにちは。
Discourse インスタンスで S3 アップロードを有効にし、Cloudfront CDN で設定しました。投稿に画像と PDF ファイルを添付ファイルとしてアップロードするテストを行ったところ、S3 バケットに正しくアップロードされました。しかし、両方が表示されているページを調べたところ、PDF は CDN リンクを使用していませんが、画像は使用していることがわかりました。
画像の場合、img src は CDN を指しており、ブラウザはこの CDN を使用してサムネイルを読み込みます。
PDF ファイルの場合、リンクの src は相対 URL (/uploads/short-url/xxxxxxxxxxxxx.pdf) を指しており、これは実際の S3 バケット(CDN ではない)のファイルにリダイレクトされるようです。
これは予期された動作でしょうか? CDN を使用するのは今回が初めてなので、通常はより大きなファイルは CDN 経由で提供しないのでしょうか? すべての古い投稿を S3 に移行する前に、すべての設定が正しく機能していることを確認したいだけです。
よろしくお願いします!
「いいね!」 4
Richie
(Richie Rich)
2
興味深い観察ですね。今まで気づきませんでした。
いくつかテストを行いました。
既存のPDFアップロードの中には、CDNに直接リンクしているものもあります。
既存のPDFアップロードの中には、CDNを使用していないものもあります。
何が違うのでしょうか? 
わかりません
もっと例を確認する必要があります。
自分で自分にDMを送り、新しい投稿をする簡単なテストを試しました。詳細にあるように /short-url/ が表示されます。
リンクをクリックすると、説明どおりS3バケットから直接取得されます。
一部の投稿がCDNを使用し、一部が使用しない理由はよくわかりませんが、あなたが目にしていることの一部を再現することはできます。
「いいね!」 1
pfaffman
(Jay Pfaffman)
3
投稿を再ベイクする必要があると思います。CDNを追加する前にアップロードされたものは自動的に更新されません。パターンに一致するすべての投稿を再ベイクする(すべてを再ベイクする方が簡単な場合があります)
「いいね!」 1
@pfaffman ありがとうございます。
すべての投稿を再ベイクしましたが、変更はありませんでした。再ベイク後、いくつかのテスト投稿を作成しました。私が(そして@Richieが見ていると思われるもの)見ていることを要約すると、次のようになります。
- 投稿内の画像は、投稿内にインラインで表示される画像のCDNに正しくリンクしています。
- ただし、画像の場合、「ダウンロード」リンク(画像をフルサイズで表示したときの右下)は、S3バケット(CDNではない)にリダイレクトされるショートURLにリンクしています。
- PDFアップロードの場合、リンクはS3バケット(CDNではない)にリダイレクトされるショートURLにリンクしています。
ショートURLが使用される場合、リダイレクト時にCDNが使用されていないようです。
私のDiscourseセットアップでは、アップロードとバックアップの両方にS3を使用しています。既存のアップロードをすべてS3に移動したわけではありません(この問題が解決したら移動します)。また、セキュアアップロードは有効にしていません。
ありがとうございます!
「いいね!」 4
sam
(Sam Saffron)
5
ご報告ありがとうございます。来週確認し、残っているCDNバイパスの不備を修正いたします。可能な限りCDNに到達するようにいたしますが、セキュアアップロードが有効になっている場合は、容易ではありません。
「いいね!」 5
renato
(Renato Atilio)
7
他のファイルアップロードでもこの点に気づきました。
「いいね!」 1