どうもありがとうございます。また、静的アセット(CSS など)が /var/www/discourse/tmp/stylesheet-cache に配置されていることも確認しました。しかし、他にも 2 つの問題があります:
- DISCOURSE_CDN_URL を設定した後、ユーザーがアップロードしたアセット(アバターなど)も CDN で提供されます。しかし、ユーザーがアップロードするたびにアップロードされたアセットを GitHub にプッシュするのは、あまり良い解決策ではないように思われます。
- Discourse が
2_2.pngのようなユーザーアバターを要求する際、1) ファイル名を分割し、2) いくつかのチェックを行い、3) ハッシュを使用して実際のファイル名を計算します。ユーザーアバターを提供する必要がある場合、2_2.pngという名前のファイルが存在しないため、同じロジックを自分で実装しなければなりません。
私の最終的な解決策はシンプルです。1) フォーラムの前に Nginx を追加します(こちらの投稿のように)。2) 上記のパスからすべての静的アセットを収集し、GitHub にプッシュします。3) Nginx の設定ファイルに、以下のようなルールを追加します。
location ~/(stylesheets|assets) {
return 301 https://cdn.jsdelivr.net/gh/my_github/my_repo/$request_uri;
}
@schleifer、再度ありがとうございます。