バックアップからの復元後、ロゴのアップロードが機能しません

異なるドメインに新しい Discourse インスタンスを作成し、バックアップから復元しました。すべて正常に進みました。しかし、ロゴが一切表示されませんでした(すべて空白で、デフォルトのロゴもありません)。そのため、Branding メニューを使用してロゴを再アップロードしてみました。

新しいロゴをアップロードした際の Discourse ログは以下の通りです:

New : /uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png
Previous : /images/discourse-logo-sketch.png

しかし、uploads ディレクトリを確認すると、その画像は存在しません:

/var/discourse# tree shared/standalone/uploads/default/ | grep 75a1

この誤ったロゴファイル名(ハッシュ?)は、現在もオンラインの元のDiscourse インスタンスのものと同じです:

New : /uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png

何が問題だったのか見当がつきますか?新しいインスタンスを作成し、フレッシュなバックアップから復元すべきでしょうか?

よろしくお願いいたします。

「いいね!」 1

ここでサポートするためには、お客様の環境についてさらに詳しく知る必要があります。

  • 新しいインスタンスはどのようにインストールされましたか?
  • リバースプロキシまたは CloudFlare の背後にありますか?
「いいね!」 1

スティーブンさん、こんにちは。

  1. スタンドアロンの discourse-setup スクリプトを使用してインストールされました。
  2. リバースプロキシや CDN は使用されていません。
「いいね!」 1

これに関する更新情報です。本日、新しいインスタンスを作成したところ、バックアップからロゴが正常に復元されました。おそらく一時的な問題だったのでしょう。

「いいね!」 1

いや、また同じ問題に直面しました… ロゴ画像はブラウザキャッシュをクリアするまで正常に機能していました。

解決策

根本原因は、リストア操作中に画像の大部分がバックアップから正しく復元されなかったことでした。この問題は、tarball を手動で展開し、欠落している画像を Discourse のアップロードディレクトリにコピーすることで解決できました。

分析

新しいロゴをアップロードしようとすると、以下のような状況になります。

  1. 画像のアップロード自体は正常に行われているようです:

  1. しかし、その後アップロードされた画像を表示するための GET リクエストが 404 エラーを返します:

  1. 画像がアップロードディレクトリに存在しません:
/var/discourse# tree shared/standalone/uploads/default/original/
shared/standalone/uploads/default/original/
`-- 1X
    |-- 52b3aff4e63a7e38bef42d469bafd1ed7c1cc1a2.png
    `-- e952cfd4c1bc58e77024e4c2b518531356319780.png

バックアップ tarball の内容はこちらです:

/tmp# tar tvzf ask-tunisians-2020-07-28-042934-v20200728004302.tar.gz 
-rw-r--r-- discourse/www-data 11767008 2020-07-28 04:29 dump.sql.gz
drwxr-xr-x discourse/www-data        0 2020-07-26 21:11 var/www/discourse/public/uploads/default/
drwxr-xr-x discourse/www-data        0 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/
drwxr-xr-x discourse/www-data        0 2020-07-27 20:33 var/www/discourse/public/uploads/default/original/1X/
-rw-r--r-- discourse/www-data    14843 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/7835873085d7323b640c2504cd737b51f370360f.png
-rw-r--r-- discourse/www-data     9039 2020-07-27 20:33 var/www/discourse/public/uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png
-rw-r--r-- discourse/www-data     5783 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/19629775936660ecc73235158b4d68b9ec4b2abe.png
-rw-r--r-- discourse/www-data    11124 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/1X/e952cfd4c1bc58e77024e4c2b518531356319780.png
-rw-r--r-- discourse/www-data    35570 2020-07-26 21:11 var/www/discourse/public/uploads/default/original/1X/52b3aff4e63a7e38bef42d469bafd1ed7c1cc1a2.png
-rw-r--r-- discourse/www-data     2375 2020-07-26 21:56 var/www/discourse/public/uploads/default/original/1X/d4af3550a7c3f857c974b996257c8e3db72e7850.png
-rw-r--r-- discourse/www-data     9759 2020-07-26 22:14 var/www/discourse/public/uploads/default/original/1X/dfc47da4c22ffeddf59f736a46a2c50ee55d7fa1.png
-rw-r--r-- discourse/www-data    24898 2020-07-26 21:46 var/www/discourse/public/uploads/default/original/1X/d832b24f2cb338139984be98045d22e0af093c4a.png

明らかに画像は存在していましたが、なぜリストア操作の一部として画像の大部分が正しくコピーされなかったのでしょうか?

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.