フォーラムがおかしくなった - アップグレード後かも

長文です…

数日前、フォーラムを新しいサーバーに移行しました。移行はうまくいき、ユーザーはログインして通常どおり使用できました。しかし、2〜3時間ログインしたユーザーは、使用できなくなったことに気づきました。最初は問題に気づきませんでしたが、10〜15分以内に私の自分のアカウントも影響を受けていることに気づきました。表示されていたのは、フォーラムのページがコンテンツなしでページの下に繰り返し出力されていることでした…つまり、ヘッダー…テキストの一部…再びヘッダー…再びテキストの一部…再びヘッダー…などです。

移行中に何か問題が発生したと仮定し、移行後に投稿が非常に少なかったことと、古いサーバーがまだ利用可能だったため、古いサーバーでフォーラムを起動し、DNSを元に戻しました。これにより、何がうまくいかなかったのかを把握し、移行をやり直す時間ができました。

その後、今日、「古い」フォーラムで、重要なアップデートが必要であるという通知が表示されました。適用したところ、すべて問題ないように見えました。しかし、1〜2時間後、古いフォーラムは、移行されたフォーラムが示していたのと同じ奇妙な表示の問題を示すようになりました。

そこで、アップグレード後に何か問題が発生しているのではないかと考えています。移行されたサーバーは、構築時に最新のコードを取得していたため、すぐに問題が発生しました。古いフォーラムは今日アップデートを受け取り、その後すぐに「狂った」ようになり始めました。

これまでに試したこと(成功せず):

  1. ./launcher rebuild app
  2. app.ymlですべてのプラグインをコメントアウトし、./launcher rebuild appを実行
  3. すべてのオプションをオンにしてセーフモードで実行
  4. ブラウザキャッシュのクリア
  5. 異なるブラウザ(Chrome、Edge、Firefox、Opera)を試す

ログインしているユーザーにとって、問題は徐々に進行しているようです。今日、テストアカウントでログインしたときは問題が発生しませんでしたが、移行されたサーバーでそれを試したところ、テストアカウントも最終的に同じ問題を示しました。残念ながら、管理者アカウントに問題が表示されているため、現時点ではそれ以上何も試すことができません。

アップグレード前のバックアップがありますが、役に立たないと思います。フォーラムを再構築すると最新のアップデートが取得されるため、コンテンツを復元すると、おそらく数時間以内に再び問題が発生するでしょう。

サーバーセットアップ:

Debian 12、Docker Swarm v26.1.4を実行。利用可能なディスク容量は120GB。RAMは64GBで、現在約20GBしか使用されていません。サーバーへの接続はCloudflare Tunnels経由です。古いサーバーはディスク容量とメモリが少ないですが、どちらも上限に達していません。

他に何かできることはないか考えています。提案があれば教えてください!

自動ミニファイ(Auto-minify)でしょうか?

「いいね!」 6

ご提案ありがとうございます。

有効になっていました。普段は有効にしないので、理由はよくわかりません。無効にしましたが(JS、CSS、HTML)、画面を下にスクロールするとページが繰り返して表示されます。

追伸:Cloudflareの自動ミニファイは8月初旬に廃止される予定であることに気づきました。

Cloudflareのキャッシュをクリアするための手順にも従いましたか?

「いいね!」 1

はい。自動ミニファイが無効になった後、Cloudflareキャッシュ(およびブラウザキャッシュ)はクリアされました。

「いいね!」 1

それでしたら、問題が発生した際にブラウザの開発者コンソールでエラーが出ていないか確認することをお勧めします。

Cloudflareの問題を修正したので、セーフモードを再度試してみるのも良いかもしれません。

「いいね!」 1

セーフモードは現在機能しています。タイムゾーンの非推奨に関する警告以外、JSコンソールにエラーはありません。デフォルトテーマに戻し、すべてのテーマコンポーネントを無効にして、セーフモード外で正常に動作するかどうかを確認してから、1つずつ再度有効にして問題を特定できるかどうかを確認します。

Dad’s Taxi が出発しなければならないので、状況を確認するにはしばらく時間がかかります!

「いいね!」 1

自動ミニファイが原因だったようです。それがいつ、どのように有効になったのかはわかりません。過去に他のシステムで同様の問題に悩まされたことがあるので、意図的に有効にしたわけではありません。Cloudflareが最近、ブラウザがウェブサイトとやり取りする方法を改善するための基本的な設定セットを有効にするボタンを追加したのではないかと疑っています。提案された変更を確認し、理にかなっていて安全だと思われるものを有効にしました。もう一度オプションを確認しましたが、自動ミニファイへの参照は見つかりませんが、おそらく「基本設定」の一部として有効になったのかもしれません。

Cloudflareのキャッシュは、Discourseのアップデートを適用してから数時間後にこの問題が突然発生した理由も説明しています。CloudflareのブラウザTTLキャッシュは4時間に設定されています。Discourseのアップデート後にCloudflareのキャッシュをパージしなかったので、数時間後までは、人々は最後のDiscourseアップデート以来数週間受け取っていた古い「良い」ファイルを受け取っていました。その後4時間後、Cloudflareは独自のキャッシュを更新し始め、新しいDiscourseファイルを見て、それらをキャッシュに追加する前にミニファイしました。その後、ブラウザが独自のキャッシュの更新をリクエストすると、破損したファイルを受け取りました。ブラウザがそれぞれ異なる時間に独自のキャッシュを更新したため、ユーザーごとに問題が発生するタイミングが異なりました。

学んだ教訓:

  1. Discourseのアップデートを適用した後は、Cloudflareのキャッシュをパージしてください。今となっては明白ですが、以前は考えていませんでした!
  2. 自動ミニファイを有効にしないでください。おそらく有効にしたのでしょうが、いつ、どのように有効にしたのかはわかりません。以前Wordpressサイトをこれで壊したことがあるので、良い考えではないことはすでに知っていましたが、この経験がそのメッセージを再確認させてくれました。

この問題を解決するのを手伝ってくれた@JammyDodgerと@davidに感謝します :smiley:

「いいね!」 1

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