Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#15,702 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
70/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
nginx

Línea de trabajo

Empieza con docs/nextcloud-perf.caddy, el fragmento de configuración de Caddy mencionado en el issue, y comprueba cómo su comparador de archivos distingue los recursos en disco de las rutas PHP. Verifica el comportamiento documentado de almacenamiento en caché y compresión para los recursos versionados y los dos tipos de rutas de ejemplo; la tarea estará terminada cuando la guía evite aplicar encabezados de caché de larga duración a las respuestas generadas por PHP y documente las reglas de rendimiento.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
JavaScript
Estrellas
632
Forks
2.5k
Merge medio
1 d 1 h
PR fusionados (30 d)
70

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de nextcloud/documentation

Todos los issues de nextcloud/documentation

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.