Uncaught SyntaxError: フォーラムがノンストップで回転し、ロードされません

フォーラムのヘルスチェックで、誰か正しい方向へ導いてくれることを願っています。タイトルにあるように、forum.wackywriters.com のフォーラムが回転し続けて読み込まれません。コンソールには、この一連のエラーが表示されます。

ほとんどが構文エラーですが、その後しばらくして「jQuery が定義されていません」というエラーも表示されます(合計46個のエラー)。これは、警告や私の側での更新なしに本日開始されたため、何が原因で発生したのかわかりません。

試したトラブルシューティング:

  • 再構築、再構築、再構築。
  • クリーンアップを実行し、再度再構築します。
  • すべてのテーマとプラグイン(公式かどうかにかかわらず)を無効にしてセーフモードに入ります。セーフモードページにはアクセスできますが、そこに入ると同じエラーが発生します。
  • Cloudflare の背後にいます(はい、知っています)し、brotli 圧縮が機能していることを確認しました。Cloudflare でキャッシュをパージし、通常のキャッシュをバイパスしました(開発モード)ので、Cloudflare 側で問題なく動作していることを確認しました。Cloudflare テンプレートは app.yml でアクティブです。DNS のみに設定するか、Cloudflare を完全に無効にすると、安全でないというエラーが発生します(SSL 証明書は Cloudflare 経由です)。
  • DigitalOcean に問題がないことを確認しました。
  • 念のため再度再構築します。

興味深いのは、ログに(本日からの)エラーがないことです。サイトにはアクセスできますが、サイトに到達してから完全な Discourse フォーラムにアクセスする間に、サイトが壊滅的な状況に陥っているようです。

過去 1 週間で変更された唯一のことは、app.yml で Font Awesome Pro ライセンスキーを更新したことですが、それは数日前でした。フォーラムは本日までこの状態ではありませんでした。これをトラブルシューティングするために試せることは他に何かありますか(CF を完全に無効にするか、バックアップから復元する以外で)?本日何時間も作業しましたが、まったく成功していません。誰かが役立つと思うなら、さらにスクリーンショットや、私の機密情報ではない app.yml ファイルを提供できます。

「いいね!」 1

更新:念のためCloudflareを削除し、バックアップから復元しました。それでも同じ問題が発生しています。

スクリーンショットのエラーは表示されていませんが、discourse-layouts プラグインに関するエラーが表示されています。それなしで再構築してみてください。

「いいね!」 1

セーフモード (Wacky Writers' Forum - Read. Write. Respect.) でサイトを読み込もうとすると、コンソールに表示されるエラーは興味深いものです。例えば:

Invalid or unexpected token at https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.js

https://storage.wackywriters.com/assets/browser-detect-99f42f91bffa8ca1606d62b70bb92f981d83921e78ccdbd3d9538f07007f27ac.br.js のファイルは、私には JavaScript のようには見えません。

これは、https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-detect.js のファイルが破損したバージョンであると推測していますが、これは単なる推測です。

app.yml ファイルからプラグインを削除して再構築してみてください。

「いいね!」 1

はい、そこにある可能性があります。セーフモードでも問題を引き起こしているプラグインなどがあるかもしれません。

:point_down:t2:

「いいね!」 1

現時点では、すべてを根本から見直し、クリーンインストールで同じエラーが発生するかどうかを確認しています。

すべてのプラグインをコメントアウトし、同じ問題で再構築しました。

私の推測では、何かが正しく解析されていません。実際、すべての資産をクリアし、再構築してそれらを再生成しましたが、同じ問題が発生しました。

はい、私もそう思いました。すべてのプラグインをコメントアウトしましたが、同じエラーが発生しました。

「いいね!」 2

Cloudflare rocketloader は問題であり、Discourse を壊します。

「いいね!」 1

はい、もちろんです。そのため、それらから私たちを移動させ、それを除外するために通常のDNSを設定しました。

「いいね!」 1

もちろん、DNSの伝播と、すべての更新されたLetsEncrypt証明書が整理されるのを待っています。それがすべて更新されるまで、新たな複雑さが増しますね。:joy:

「いいね!」 2

それが解決しない場合は、CDNをパージする価値があるかもしれません。digitaloceanspaces.comにあると思います。破損したファイルを配信しているようです。例えば:https://storage.wackywriters.com/assets/start-discourse-7c0f5f4daf3c942b7b6ecfe8e62e2e5a0f6555924859cf055314c0df3d617353.br.js

「いいね!」 5

ありがとうございます。試してみます。Cloudflareではパージしましたが、DO Spacesでは行っていませんでした :thinking:

「いいね!」 1

こちらのトピックに基づくと、何かお気づきの点があるかもしれません: S3, Assets & CDN Error

「いいね!」 3

マジでハグしたいくらいだよ。問題はまさにDO Spaces、特に言及されているCDNにあったようだ:Configure an S3 compatible object storage provider for uploads

bunny.net経由で新しいCDNを設定したところ、なんとかまた稼働できるようになったよ。バックアップを整理して、壊れた画像をいくつか修正する必要があるけど、今日一日でここまで機能を取り戻せたのは初めてだよ(笑)。ありがとう、ありがとう!このCDN/S3構成でSpacesの設定を運用してきたのは…そうだな、2年くらいかな。もっと早く壊れなかったのが幸運だったのかもしれない。

「いいね!」 5