Hochladen von großen Ordnern: Sabre\DAV\Exception\BadRequest hinter HTTP/2-Proxy

Hallo,

ich betreue ein paar Server mit Nextcloud (z.B. Schulen). Hier wird immer eine Docker-Installation mit Traefik als reverse Proxy genutzt.

Beim Upload großer Ordner auf meinen neuen privaten Server habe ich festgestellt, dass immer wieder der Fehler

Sabre\DAV\Exception\BadRequest: Erwartete Dateigröße von 20971520 bytes, aber 20963328 bytes gelesen (vom Nextcloud-Client) und geschrieben (in den Nextcloud-Speicher). Dies kann entweder ein Netzwerkproblem auf der sendenden Seite oder ein Problem beim Schreiben in den Speicher auf der Serverseite sein.

auftritt. Das ist natürlich blöd, denn die Datei wird damit auch nicht hochgeladen, so dass ich anschließend manuell nochmal durchschauen muss, welche Datei denn jetzt fehlt…
Zusätzlich hatte es mich gewundert, dass beim Upload keine verbleibende Zeit sondern nur “lade hoch” auf dem Upload-Balken angezeigt wird. (Was mich allerdings nicht stören würde)

Nach einigen Recherchen und vielen Versuchen kam ich zu dem Ergebnis, dass das an HTTP/2 liegt. Gehe ich direkt auf die Nextcloud ohne Traefik (also per Portfreigabe) dann wird nur per HTTP/1.1 verbunden, dann läuft alles und auch die Restzeit wird korrekt angezeigt.

Im Docker habe ich die nextcloud-fpm-Variante und dort auch mal testweise HTTP/2 im nginx aktiviert (also immer noch ohne Traefik) dann kommt’s zum selben Problem!

Bei Traefik an sich kann man leider HTTP/2 nicht deaktivieren… Wenn ich bei mit im Firefox in den Einstellungen manuell den HTTP/2-Modus deaktiviere, dann läuft es über HTTP/1.1 auch über Traefik problemlos - und das auf allen meinen Servern identisch!

Nextcloud (bei mir in den Versionen 24/25/26) scheint also Probleme zu haben, wenn das hinter einem HTTP/2-Proxy betrieben wird.

Kennt jemand das Problem, bzw. weiß, wie man das lösen kann? Bei mir auf dem Laptop könnte ich ja HTTP/2 einfach deaktivieren, aber es sollen ja auch andere Nutzer zugreifen…

Danke schonmal und viele Grüße
Alex