画像の表示またはアップロードができません

最近、フォーラムをあるサーバーから別のサーバーに移行しました。現在のバージョンは 2.6.0.beta2 です。他の機能は正常に動作していますが、以前アップロードされた画像が表示されず、ユーザーも新しい画像をアップロードできません。また、ユーザーはプロフィール画像を更新することもできません。

このフォーラムで言及されていたいくつかの対策を試してみましたが、どれも私の環境では機能しませんでした。お手伝いをお願いします!

「いいね!」 1

以前は s3 または s3 互換のストレージを使用していましたか?

変更を必要とした理由は何か、サーバーはどのように異なり、新しいサーバーはどのように構築されましたか?

「いいね!」 2

このサーバーでは、テスト目的も含めて S3 を使用したことはありません。

リージョンを変更したいためにサーバーを変更しました。新しいサーバーは、リージョンを除き、古いサーバーと完全に同一です。以前は CloudFront CDN を使用していましたが、移行後にキャッシュ全体を無効化しました。

バックアップに含まれていたため、古い画像は新しいサーバーでも利用可能ですが、それでもこの問題が発生しています。

バックアップの作成または復元を行う前に、古いインスタンスを同じレベルにアップグレードしましたか?

はい、両方のサーバーではすべて同一でした。移行の適切な手順に従い、他のユーザーが移行中に直面した問題も確認しました。

問題は、古い画像が表示できないことだけでなく、ユーザーが新しい画像をアップロードできないことです。おそらく、何らかの画像ドライバに問題があるのでしょう(あいまいな推測で申し訳ありません)。

これは標準インストールを使用していますか?

はい、discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub に記載されている手順に従ってください。

はい、まとめますと、以前のサーバーは標準インストールでした。同じ構成のシステムに再インストールし、バックアップを復元しました。

ページのソースを確認すると、画像の URL はどのように表示されていますか?また、/var/discourse/standalone/web-only/uploads/default 内のアップロードファイルと比較してどうでしょうか?

画像リンクを直接開こうとするとどうなりますか?

これらのインストールのいずれかが 2 コンテナ構成でしたか?

再現手順が明確でないため、bug から Support にカテゴリを再分類します。根本原因を特定できればバグとして登録する必要があるかもしれませんが、現時点ではその状況ではありません。

私のフォーラムの画像は /var/discourse/shared/standalone/uploads/default/optimized/1X にアップロードされているようです。複数の解像度で保存された画像が多数ありますが、フォーラム上およびディレクトリ内の画像ファイル名は一致していません。

https://forumcdn.domain.com/uploads/default/optimized/1X/55cfd1bf40edcb3ac19d3e412a5ad63f93c0a854_2_225x250.png に対しては 404 エラーコードが返されますが、画像ファイル名をディレクトリ内のファイル名に置き換えると正常に動作します。すべての画像ファイルは無傷であり、直接開けば表示されます。問題なのは、フォーラム上に表示されているファイル名が実際のものとは異なっている点だけです。

ソースインスタンスで「バックアップにサムネイルを含める」が有効になっていますか?

有効でない場合:

生成されたサムネイルをバックアップに含めます。これを無効にするとバックアップのサイズが小さくなりますが、復元後にすべての投稿を再構築(rebake)する必要があります。

つまり、rake posts:rebakeを実行する必要があります。

「いいね!」 1

サムネイルをバックアップに含める がソースインスタンスで無効化されていました。Discourse コンテナ内で rake posts:rebake を実行したところ、以下の結果が得られました。

root@vps-app:/var/www/discourse# rake posts:rebake
デフォルトの投稿マークダウンを再構築中
      628 / 628 (100.0%)
628 件の投稿が完了しました!

念のため CDN キャッシュも無効化しましたが、それでも画像が表示されません。また、画像をアップロードすることもできないため、この解決策ではその問題は解決しないのではないかと疑っています。

「いいね!」 1