Avatar ProxyとCDNホットリンク保護

曖昧な質問は嫌いです。「これ」とは何を求めていたのですか?

現在の設定は以下の通りです。

Discourseの設定:

  • 標準的な単一コンテナインストール
  • サブドメインとして設定: forums.domain.tld
  • アップロード用の標準S3設定
  • アップロードはS3に保存

S3の設定:

  • Digital Ocean S3バケット
  • バケットは外部アクセス用にオン
  • その他のセキュリティレイヤーや権限なし

CDNの設定:

  • bunny CDN
  • 許可された参照元設定: domain.tld および *.domain.tld
  • アバターへのアクセスを妨げたスイッチは「ダイレクトURLファイルアクセスをブロックする」でした。

これをオンにすると、すべてのアバターが403エラーを受け取ります。オフにすると、アバターが表示されます。

非アバター画像:

  • Discourse内のURL: https://cdn.domain.tld/optimized/3X/3/1/filename_#_size.jpeg

アバター画像:

  • Discourse内のURL: https://forums.domain.tld/user_avatar/forums.domain.tld/mazzini/48/776_2.png

以前の投稿「アバターはどのように保存およびアクセスされますか?」では、Discourseはアバターにプロキシを使用していると示唆されています。したがって、アバターのURL構造は標準的な画像URL構造ではありません。

私のシステム内では、アバターはS3またはCDNから利用可能です。これは、どこかでアバターURLがCDN URLに変換されていることを示しています。

これが起こると、CDNはそのURLをダイレクトアクセスリンクとみなし、403でアクセスをブロックします。

これで「これ」という質問に答えられたでしょうか?