バックアップの復元に問題が発生--SiteSetting::Upload.s3_base_urlが失敗--データベースでenable_s3_uploadsが設定されているため

S3へのアップロードを有効にする設定をデータベースで行ったことが原因で、復元が機能しないことが確認されました。この設定により、復元時にS3へのアップロードが試みられますが、情報が不足しているため失敗します。(ため息。しかし、マルチサイト/S3インスタンスの復元は、「一部のファイルがS3に移行されていない」という理由で失敗します。)

S3アップロードの設定はすべてUXから非表示にした方が良いのかと思います。UXで設定しても良い結果が得られるとは思えませんが、データベースでS3アップロードを設定するのは便利かもしれません。。。たぶん。

標準インストールに復元されたものは、以下の処理を行っているため、アップロードが表示されずに失敗しています。

      Started GET "/uploads/short-url/puhaSNHeEy1S2knGFQIAZ8lprRy.pdf" for 68.11.35.109 at 2022-01-25 19:48:06 +0000
Processing by UploadsController#show_short as PDF
  Parameters: {"base62"=>"puhaSNHeEy1S2knGFQIAZ8lprRy", "extension"=>"pdf"}
Sent file /var/www/discourse/public/default/original/1X/b2a283b9381b837234e7d4830b.pdf (4.4ms)
Completed 500 Internal Server Error in 130ms (ActiveRecord: 0.0ms | Allocations: 10019)
ActionController::MissingFile (Cannot read file /var/www/discourse/public/default/original/1X/b2a283b9381b837234e7d4830.pdf)

探しているパスは /var/www/discourse/public/ uploads /default/original/1X/ ではなく、/var/www/discourse/public/default/original/1X/ です。

… . .

これは、S3バケットの参照を修正しようとしてリマップを行ったために、ローカルURLのパスが壊れたためです。

これは誰にとっても有用すぎる詳細すぎる情報かもしれませんが、S3アップロード変数をUXから非表示にすることは良い考えだと思います。

「いいね!」 3