public/javascriptにWorkboxディレクトリがありませんか?

こんにちは。

フォーラムで見られる奇妙な障害を調査している際に、アプリコンテナ内のnginxログも確認しました。しばらく確認していなかったので、これらのログが以前から存在していたかどうかはわかりませんが、私のインストールには全く存在しないディレクトリにあるJavaScriptファイルが見つからないというエラーが表示されています。

"/var/www/discourse/public/javascripts/workbox/workbox-core.prod.js"
"/var/www/discourse/public/javascripts/workbox/workbox-cacheable-response.prod.js"
"/var/www/discourse/public/javascripts/workbox/workbox-routing.prod.js"
"/var/www/discourse/public/javascripts/workbox/workbox-strategies.prod.js"
"/var/www/discourse/public/javascripts/workbox/workbox-sw.js"

これらはほんの一例です。GitHubでも見つけられなかったので、何がこれらの問題を引き起こしているのか疑問に思っています。エラーログがスパムのように表示されない方が安心できます :slight_smile:

何かアイデアはありますか?

編集:ちなみに、3.2.0.beta1を実行しており、ブラウザのコンソールでもこれらの欠落ファイルを確認できます。

Workbox はキャッシュに関係していると思われます。

どのくらい前にアップグレードしましたか?それに関連するバグがあるかもしれませんが、もう少し情報が必要だと思います。

「いいね!」 1

投稿する前日に更新しただけです。

私の調査によると、これはPWAに関連しているようで、Chrome/Chromiumブラウザで検索する必要があるようです。

他にどのような情報が必要ですか?

9ヶ月経った今でもこれが見られますが、それについての情報はあまり見つかりません。誰もnginxのエラーログを見ていないのか、それとも気にしていないのかわかりません。

何が起こっているのか、そしてこれが問題を引き起こす可能性があるかどうかについて、何かアイデアがある人はいますか?

直接関係なさそうな520/429の問題を調べていますが、これらのエラーが何度も表示されるのが気になります。これは、Cloudflareが以前のビルドから古いファイルをロードしようとしている問題でしょうか?それともブラウザのキャッシュでしょうか?

Workboxが2ヶ月前に依存関係から削除され、最新の状態のサイトには影響しない問題であることを考えると、サイトを更新することをお勧めします。

「いいね!」 1

3.3.0beta2を使用しています。アップデートできるものはないと思います。

「いいね!」 1

お一人ではありません、@helmi さん。
3.2.5 から 3.3.0 への移行で問題が発生し(大量の 502、429 など)、3.2.5 にダウングレードする必要がありました。

最近、状況が改善されることを期待して 3.3.1 への再アップグレードを試みました。ある意味では改善されました。ただ、すべてのユーザーで 502 が頻発するようになりました。

思い切って test-passed を信じ、現在は 3.4.0.beta3-dev 2099c33fa7 )を使用しており、nginx のエラーログには時折以下のような出力があります。

2024/10/08 21:44:15 [error] 79#79: *16810 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-routing.prod.js" failed (2: No such file or directory), client: 70.79.108.71, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-routing.prod.js HTTP/2.0", host: "netgamers.it", referrer: "https://netgamers.it/service-worker.js"
2024/10/08 21:45:22 [error] 75#75: *17175 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-core.prod.js" failed (2: No such file or directory), client: 216.128.26.206, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-core.prod.js HTTP/2.0", host: "netgamers.it", referrer: "https://netgamers.it/service-worker.js"
2024/10/08 21:47:50 [error] 74#74: *17968 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-core.prod.js" failed (2: No such file or directory), client: 77.208.167.253, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-core.prod.js HTTP/2.0", host: "netgamers.it", referrer: ""
2024/10/08 21:47:51 [error] 74#74: *17981 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-cacheable-response.prod.js" failed (2: No such file or directory), client: 77.208.167.253, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-cacheable-response.prod.js HTTP/2.0", host: "netgamers.it", referrer: ""
2024/10/08 21:47:51 [error] 74#74: *17982 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-sw.js" failed (2: No such file or directory), client: 77.208.167.253, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-sw.js HTTP/2.0", host: "netgamers.it", referrer: ""
2024/10/08 21:47:51 [error] 74#74: *17983 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-expiration.prod.js" failed (2: No such file or directory), client: 77.208.167.253, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-expiration.prod.js HTTP/2.0", host: "netgamers.it", referrer: ""
2024/10/08 21:47:51 [error] 77#77: *17984 open() "/var/www/discourse/public/assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-routing.prod.js" failed (2: No such file or directory), client: 77.208.167.253, server: _, request: "GET /assets/workbox-9b5674ca0ecb89bae1fa6f4b09a18f12/workbox-routing.prod.js HTTP/2.0", host: "netgamers.it", referrer: ""

VM は 8 コア、32GB RAM、NVMe 500GB を搭載しているにもかかわらず、502 の原因はまだわかっていません。
コミュニティには約 450 人のアクティブユーザー、585k のトピック、21.5 百万の投稿があるため、大きな VM を選択しました。

インストールでも同様の問題が発生しているようです。3.2.x から 3.3.x にアップデートしてから、投稿時の 502 エラーの波、最新の投稿が更新されないなどの問題が発生しています。

おそらく数時間ごとにバックグラウンドスクリプトがエラーを起こして、これらの問題が発生しているようです。

編集:技術担当者がすでに投稿していたのを見ませんでした :sweat_smile: 彼が言ったこと

数時間ごとに同様のエラーが発生します。

2025/05/19 16:48:10 [error] 63#63: *1738520 open() "/var/www/discourse/public/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-core.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-core.prod.js HTTP/1.1", host: "XXXX"
2025/05/19 16:48:10 [error] 63#63: *1738520 open() "/var/www/discourse/public/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-routing.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-routing.prod.js HTTP/1.1", host: "XXXX"
2025/05/19 16:48:10 [error] 63#63: *1738520 open() "/var/www/discourse/public/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-expiration.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-expiration.prod.js HTTP/1.1", host: "XXXX"
2025/05/19 16:48:10 [error] 63#63: *1738520 open() "/var/www/discourse/public/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-sw.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-sw.js HTTP/1.1", host: "XXXX"
2025/05/19 16:48:10 [error] 63#63: *1738520 open() "/var/www/discourse/public/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-cacheable-response.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-cacheable-response.prod.js HTTP/1.1", host: "XXXX"
2025/05/19 16:48:10 [error] 63#63: *1738520 open() "/var/www/discourse/public/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-strategies.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-strategies.prod.js HTTP/1.1", host: "XXXX"

この場合は public/assets ですが、public/javascript に対するログエントリも確認しています。

2025/05/12 18:00:39 [error] 78023#78023: *701261 open() "/var/www/discourse/public/javascripts/workbox/workbox-sw.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/javascripts/workbox/workbox-sw.js HTTP/1.1", host: "XXXX"
2025/05/12 18:00:39 [error] 78023#78023: *701261 open() "/var/www/discourse/public/javascripts/workbox/workbox-routing.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/javascripts/workbox/workbox-routing.prod.js HTTP/1.1", host: "XXXX"
2025/05/12 18:00:39 [error] 78023#78023: *701261 open() "/var/www/discourse/public/javascripts/workbox/workbox-cacheable-response.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/javascripts/workbox/workbox-cacheable-response.prod.js HTTP/1.1", host: "XXXX"
2025/05/12 18:00:39 [error] 78023#78023: *701261 open() "/var/www/discourse/public/javascripts/workbox/workbox-strategies.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/javascripts/workbox/workbox-strategies.prod.js HTTP/1.1", host: "XXXX"
2025/05/12 18:00:39 [error] 78023#78023: *701261 open() "/var/www/discourse/public/javascripts/workbox/workbox-core.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/javascripts/workbox/workbox-core.prod.js HTTP/1.1", host: "XXXX"
2025/05/12 18:00:39 [error] 78023#78023: *701261 open() "/var/www/discourse/public/javascripts/workbox/workbox-expiration.prod.js" failed (2: No such file or directory), client: unix:, server: _, request: "GET /forum/javascripts/workbox/workbox-expiration.prod.js HTTP/1.1",

パスはバージョンによって変更されましたか?おそらくブラウザのキャッシュが正しくクリアされていない、またはアセットが無効化されていない場合でしょう。あるいは、もっと可能性が高いのは、かつて見つけたリソースをスキャンし続けるだけの愚かなボットのせいかもしれません。数千人の訪問者と、2つのログセットの間に数十人の投稿者がいることを考えると、一般的な問題ではないようです。

この場合、アクセスはコンテナ外のプロキシとUNIXソケット経由で行われるため、クライアントIPを確認することはできません。77.208.167.253 については、それがボットであるかどうかに関わらず、関連する情報を見つけることができませんでした。

【引用=“Falco、投稿:5、トピック:279359”】
2ヶ月前にworkboxが依存関係から外されたことを考えると
【/引用】

【引用=“MichaIng、投稿:9、トピック:279359”】
私たちは数時間ごとに似たようなエラーの波を受けています:


【/引用】
あなたはどのバージョンを使用していますか?

3.5.0.beta5-devはこれらのファイルをもう提供しておらず、最新のフロントエンドもそれらを要求していません。前述したように、キャッシュやフロントエンドが古い(通常、動的HTMLドキュメントでは起こらないはず)か、ボットの可能性が高いか、クライアント側の問題です。

「いいね!」 1