Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Bug]: F-28 Behind Caddy (and nginx without the documented rules) every page load downloads 11 MB of JavaScript and CSS

オープン 初心者向け
#15,702 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
70/100
issue の種類
ドキュメント
明瞭さ
おおむね明確
活発さ
活発
技術スタック
nginx
領域
documentation

調査の方向性

issue で言及されている Caddy 設定スニペット docs/nextcloud-perf.caddy から始め、そのファイルマッチャーがディスク上のアセットと PHP ルートをどのように区別するかを確認してください。バージョン付きアセットと 2 種類のルート例について、文書化されたキャッシュと圧縮の動作を検証してください。完了の基準は、ガイダンスが PHP 生成レスポンスに長期間有効なキャッシュヘッダーを適用しないようにし、パフォーマンス規則を文書化していることです。

索引モデルが issue の本文から書いたものです。

説明

0. needs triage bug
⚠️ This issue respects the following points: ⚠️
  • This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
  • This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
  • I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
  • I agree to follow Nextcloud's Code of Conduct.
  • I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.
Bug description

F-28 · Behind Caddy (and nginx without the documented rules) every page load downloads 11 MB of JavaScript and CSS

Severity Performance (deployment; the slowest part of the web UI on remote connections)
Component web server configuration, .htaccess equivalents
Affects installations not served by Apache, e.g. nextcloud:fpm with Caddy
Verified Measured with a browser against Caddy with and without the rules

Measurement (Files app, 50 Mbit/s, 20 ms latency)

without with compression and caching
Transferred on the first visit 11.0 MB 2.7 MB
Time until the file list shows 3.7 s 2.2 s
core-common.js 5.7 MB 1.2 MB (zstd)

Without Cache-Control, browsers revalidate or download the 65 scripts and 45 stylesheets again.
Apache gets these rules from .htaccess (max-age=15778463, immutable for versioned assets);
Caddy and nginx need them in their own configuration. With encode zstd gzip the bundles shrink to
a quarter.

The rules must only match files that exist on disk (Caddy file matcher), as FilesMatch does in
Apache. A plain path *.css matcher also hits PHP routes such as /apps/theming/theme/default.css
and /apps/theming/img/core/filetypes/*.svg. Caddy then sends a second Cache-Control header
next to the one from PHP (private, max-age=86400, must-revalidate), and browsers cache the theme
CSS for half a year. The snippet in docs/nextcloud-perf.caddy uses the file matcher and was
checked against both kinds of URL.

Steps to reproduce

see the top

Expected behavior

see the top

Nextcloud Server version

35

Operating system

No response

PHP engine version

No response

Web server

No response

Database engine version

No response

Is this bug present after an update or on a fresh install?

No response

Are you using the Nextcloud Server Encryption module?

No response

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report

List of activated Apps

Nextcloud Signing status

Nextcloud Logs

Additional info

No response

主要言語
JavaScript
スター
632
フォーク
2.5k
平均マージ
1日 51分
マージ済み PR(30日)
77

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nextcloud/documentation のほかの issue

nextcloud/documentation の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。