Nextclouds Upload-Limit über 2 GB hinaus erhöhen

Wenn ein Nextcloud-Browser-Upload bei 2 GB abbricht, erhöhen Sie das Limit auf allen Ebenen, die die Anfrage verarbeiten: PHP, Webserver bzw. Reverse-Proxy und jeglicher verwendeter temporärer Speicher. Für ein 5-GB-Ziel benötigt eine typische PHP-FPM- und Nginx-Konfiguration upload_max_filesize = 5Gzusätzlich post_max_size = 6Gausreichend client_max_body_size 5GSpeicherplatz und Zeit für die Übertragung.

Es gibt keine generelle 2-GB-Grenze für Nextcloud. Laut aktuellem Administrationshandbuch beträgt die standardmäßige maximale Uploadgröße 512 MB, während ein Limit unter 2 GB auf 32-Bit-Systemen eine feste Obergrenze darstellt. Ein Server, der genau bei 2 GB stoppt, stößt höchstwahrscheinlich auf ein konfiguriertes Limit oder einen Zwischenwert. Die folgenden Schritte verwenden 5 GB als Beispiel; ersetzen Sie diesen Wert durch die größte Dateigröße, die Sie tatsächlich benötigen.

Stammt die 2-GB-Beschränkung von Nextcloud?

Das sichtbare Limit wird häufig von PHP oder dem Webserver und nicht von einer Nextcloud-Einstellung festgelegt. Das von Nextcloud maximal unterstützte Limit hängt außerdem vom Betriebssystem, Dateisystem, dem Kontokontingent und dem verfügbaren temporären Speicherplatz ab. Der Desktop-Synchronisierungsclient verhält sich anders: Er überträgt Dateien in kleineren Teilen und unterliegt nicht den hier beschriebenen Upload-Limits für Einzelanfragen.

Ermitteln Sie zunächst den Anfragepfad. Prüfen Sie, ob Benutzer Dateien über den Browser, WebDAV oder den Desktop-Client hochladen und ob die Website über Nginx, Apache, einen Load Balancer oder den Proxy des Hosting-Anbieters läuft. Falls Sie den Server nicht selbst verwalten, senden Sie dem Administrator die Größe der fehlgeschlagenen Datei, die Upload-Methode, den Zeitpunkt des Fehlers und den Fehlercode. Nur er kann serverseitige Beschränkungen ändern.

Welche PHP-Einstellungen sollten Sie ändern?

Bearbeiten Sie für PHP-FPM die Konfiguration des PHP-FPM-Dienstes, der Nextcloud bedient – ​​nicht nur die PHP-Konfiguration in der Kommandozeile. Unter Debian oder Ubuntu lautet ein üblicher Pfad `<php-version>` /etc/php/8.2/fpm/php.ini; ersetzen Sie ` 8.2<php-version>` durch die installierte PHP-Version. Ihre Distribution oder Ihr Container verwendet möglicherweise einen anderen Pfad. Laut PHP-Handbuch post_max_sizemuss `<php-version>` größer als `<php-version>` sein upload_max_filesize, lassen Sie also genügend Platz für den Anfrage-Overhead.

Eine in einem Code-Editor geöffnete PHP-FPM-Konfigurationsdatei, in der der Pfad /etc/php/8.2/fpm/php.ini sichtbar ist.
Beispielhafter PHP-FPM-Konfigurationspfad. Verwenden Sie die PHP-Version und den Dateipfad, die in Ihrem Nextcloud-Dienst aktiv sind.

Legen Sie für Ihren Server geeignete Werte fest. Beispiel: 5 GB

upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600
Die PHP-Einstellungen zeigen, dass upload_max_filesize auf 5G, post_max_size auf 6G und input- und execution timeouts auf 3600 Sekunden eingestellt sind.
Beispielhafte PHP-FPM-Werte für ein Upload-Ziel von 5 GB; post_max_size ist höher als upload_max_filesize.

Die Timeout-Werte sind Beispiele, keine allgemeingültigen Vorgaben. Langsame Verbindungen, ausgelastete Server und Uploads, die am Ende zusammengestellt werden müssen, können längere Timeout-Zeiten erfordern. Die PHP-Speichereinstellungen und die Ressourcenlimits pro Worker sind weiterhin wichtig: Setzen Sie das Speicherlimit für jeden PHP-FPM-Worker nicht automatisch auf mehrere Gigabyte. Nextcloud empfiehlt in seinen PHP-Richtlinien mindestens 512 MB Speicher pro Prozess; überwachen Sie den Host und seinen PHP-FPM-Pool, bevor Sie die Ressourcenlimits erhöhen.

Speichern Sie die Datei und starten Sie den entsprechenden PHP-FPM-Dienst neu, damit die neuen Einstellungen übernommen werden. Auf einem System mit PHP 8.2 könnte der Dienst beispielsweise so aussehen php8.2-fpm:

sudo systemctl restart php8.2-fpm

Die Dienstnamen variieren. Aktualisieren Sie in Containern die eingebundene Konfiguration oder das Image und erstellen Sie den PHP-Container gemäß dem jeweiligen Bereitstellungsprozess neu.

Wie kann man das Webserver-Limit erhöhen?

Bei Nginx fügen Sie die body-size-Direktive im aktiven serverBlock für Nextcloud oder in einem spezifischeren, anwendbaren locationBlock ein:

client_max_body_size 5G;
Eine Nginx-Serverkonfiguration in einem Editor mit der Direktive client_max_body_size 5G; sichtbar innerhalb eines Serverblocks.
Platzieren Sie die Nginx-Body-Größenbegrenzung im aktiven Serverblock, der Nextcloud-Anfragen verarbeitet.

Anschließend die Konfiguration überprüfen und Nginx neu laden:

sudo nginx -t
sudo systemctl reload nginx

Wenn Nginx einen Syntaxfehler meldet, beheben Sie diesen vor dem Neuladen. Falls ein anderer Proxy, Ingress-Controller oder Hosting-Gateway dazwischengeschaltet ist, kann dieser ein eigenes Limit für den Anfragetext festlegen; erhöhen Sie dieses Limit ebenfalls. Ein Limit eines vorgelagerten Proxys kann den Upload ablehnen, selbst wenn der Nextcloud-Host korrekt konfiguriert ist.

Prüfen Sie bei Apache LimitRequestBodydie entsprechende Konfiguration des virtuellen Hosts oder Verzeichnisses. Die aktuelle Nextcloud-Dokumentation weist darauf hin, dass Apache HTTP Server 2.4.54 und höher diese Direktive standardmäßig auf 1 GiB setzt. Dies kann Uploads über dieser Größe verhindern. Legen Sie ein für den Host geeignetes Byte-Limit fest oder verwenden Sie diese Direktive 0nur, wenn Sie bewusst kein Limit für die Größe des Apache-Bodys wünschen. Apache benötigt möglicherweise auch längere Timeouts für Anfragen, insbesondere wenn mod_reqtimeoutdiese Option aktiviert ist.

Können Speicherprobleme oder Zeitüberschreitungen den Upload noch verhindern?

Ja. Das temporäre Upload-Verzeichnis von PHP, das konfigurierte temporäre Verzeichnis von Nextcloud und das von Nginx client_body_temp_pathmüssen über ausreichend freien Speicherplatz verfügen und beschreibbar sein. Planen Sie genügend Speicherplatz für gleichzeitige Uploads und, in manchen Speicherkonfigurationen, für die Zusammenstellung hochgeladener Datenblöcke ein. Überprüfen Sie das entsprechende Dateisystem df -hund stellen Sie sicher, dass das Dienstkonto in das konfigurierte temporäre Verzeichnis schreiben kann. Verwenden Sie für temporäre Dateien kein Verzeichnis, das vollständig belegt oder schreibgeschützt ist.

Prüfen Sie außerdem das Nextcloud-Kontingent des Benutzers und den freien Speicherplatz des Servers. Das Erhöhen eines Limits für die Anfragegröße erhöht weder das Kontingent des Benutzers noch schafft es zusätzlichen Speicherplatz. Erhöhen Sie ein Kontingent nur dann, wenn das Konto über ausreichend Speicherplatz für die Datei verfügt. Tritt der Fehler gegen Ende eines Uploads auf oder wird ein Timeout oder Gateway-Fehler gemeldet, prüfen Sie die PHP-, Webserver-, Proxy- und Nextcloud-Protokolle, bevor Sie weitere Limits erhöhen. Das Nextcloud-Handbuch nennt PHP-Timeouts und Nginx-Fehler ausdrücklich fastcgi_read_timeoutals mögliche Ursachen, insbesondere während finaler MOVE-Anfragen.

Wichtig: PHP-Regeln upload_max_filesizeverhalten post_max_sizesich bei WebDAV-PUT-Anfragen für einzelne Dateien oder Chunked-Upload-Anfragen von Nextcloud möglicherweise nicht gleich. Hier können PHP- und Webserver-Timeouts den limitierenden Faktor darstellen. Analysieren Sie die Upload-Methode, bevor Sie Einstellungen ändern, die nicht relevant sind.

Wie können Sie die Fehlerbehebung bestätigen?

Beginnen Sie mit einer Testdatei, die deutlich über dem alten Limit liegt, und testen Sie anschließend eine Datei, die sich in der Nähe des neuen Ziels befindet. Laden Sie die Datei über denselben Browser oder Client hoch, der ursprünglich fehlgeschlagen ist. Vergewissern Sie sich, dass die Übertragung abgeschlossen ist, die Datei die erwartete Größe hat und heruntergeladen oder geöffnet werden kann. Eine grüne Anzeige für den abgeschlossenen Upload in der Dateiansicht ist ein hilfreicher erster Anhaltspunkt; vergleichen Sie aber auch die gespeicherte Dateigröße.

Die Nextcloud-Dateiansicht zeigt archive-3gb.zip mit einer angezeigten Größe von 3 GB und einem grünen Abschluss-Häkchen.
Nach der Änderung muss überprüft werden, ob eine Testdatei, die größer als das vorherige Limit ist, in der erwarteten Größe angezeigt wird und als vollständig gekennzeichnet ist.

Schlägt der Test weiterhin fehl, nutzen Sie den Fehler, um die nächste limitierende Ebene zu ermitteln: Ein HTTP-413-Fehler deutet auf eine Begrenzung des Anfragetextes hin, ein 504-Fehler oder ein kurz vor Abschluss liegender Fehler auf ein Timeout, und eine Meldung über ein Kontingent oder begrenzten Speicherplatz weist auf die Speicherkapazität hin. Überprüfen Sie die Protokolle für denselben Zeitstempel und passen Sie nur die entsprechende Einstellung an. Halten Sie das Limit nahe an der größten erwarteten Upload-Größe und reservieren Sie ausreichend temporären Speicherplatz für parallele Aktivitäten.

Offizielle Dokumentation

Einen Kommentar hinterlassen

Warnung „Fehlende Datenbankindizes in Nextcloud“ löschen

Warnung „Fehlende Datenbankindizes in Nextcloud“ löschen

Führen Sie die OCC-Reparatur von Nextcloud sicher durch, sehen Sie sich die Datenbankänderungen in der Vorschau an und prüfen Sie, warum die Warnung möglicherweise weiterhin angezeigt wird.

Nextclouds Upload-Limit über 2 GB hinaus erhöhen

Nextclouds Upload-Limit über 2 GB hinaus erhöhen

Ermöglichen Sie größere Nextcloud-Browser-Uploads, indem Sie die Einstellungen für PHP, Nginx oder Apache, temporären Speicher und Timeout aufeinander abstimmen – und überprüfen Sie, welches Limit die Datei blockiert.

Nextclouds PHP-Speicherwarnung auf dem Webserver beheben

Stellen Sie das PHP-Speicherlimit ein, das Nextcloud tatsächlich verwendet, starten Sie den richtigen Dienst neu und bestätigen Sie die Einstellung von 512 MB in der Admin-Übersicht.

Verbinden Sie einen S3-kompatiblen Bucket mit dem externen Speicher von Nextcloud.

Binden Sie einen kompatiblen Objektspeicher-Bucket in Nextcloud mithilfe des S3-Backends ein, und zwar mit dem richtigen Endpunkt, den richtigen Anmeldeinformationen, dem richtigen Zugriffsbereich und den richtigen Verifizierungsschritten.

Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Sicheres Verschieben eines Linux Nextcloud-Datenverzeichnisses auf ein externes Laufwerk mithilfe einer persistenten UUID-Einbindung, des Wartungsmodus, einer verifizierten Kopie und des Symlinks des ursprünglichen Pfads.

Nextcloud-Datenbankfehler nach einem Update: Was Sie zuerst überprüfen sollten

Stellen Sie den Nextcloud-Zugriff nach einem Update wieder her, indem Sie SQL-Fehler diagnostizieren, die Datenbankverbindung überprüfen und unterbrochene Migrationen sicher abschließen.

Vergessenes Nextcloud-Admin-Passwort mit OCC zurücksetzen

Verwenden Sie den OCC-Befehl von Nextcloud, um ein Administratorpasswort über die Server-Shell zurückzusetzen. Hinweise zu Benutzernamen, Berechtigungen und externen Anmeldeanbietern finden Sie hier.

Fügen Sie den HSTS-Header am HTTPS-Endpunkt für Nextcloud hinzu.

Beheben Sie die HSTS-Warnung von Nextcloud, indem Sie den Header bei Apache, NGINX oder Ihrem TLS-Proxy setzen und anschließend die öffentliche HTTPS-Antwort sicher überprüfen.

Fehlerbehebung bei Nextcloud-App-Installationen, die keine Internetverbindung melden

Fehlerbehebung bei Nextcloud-App-Installationen, die keine Internetverbindung melden

Installationsfehler im App Store lassen sich auf DNS-, HTTPS-, Proxy-, TLS- oder Konfigurationsprobleme des Nextcloud-Servers selbst zurückführen.

CPU-Spitzen in der Nextcloud-Vorschau durch eine geplante Warteschlange zähmen

Verlagern Sie die Bearbeitung von Miniaturansichten auf einen kontrollierten Hintergrundzeitplan, reduzieren Sie ungenutzte Vorschaubildgrößen und überprüfen Sie die Warteschlange, ohne Ihren Nextcloud-Server zu überlasten.