Hochladen von Dateien größer als 1 MB = Verbindung wird zurückgesetzt

8

Ich verwende Nginx im Frontend als "Proxy-Cache" und Apache im Backend. Ich habe meine PHP-Einstellungen auf Folgendes eingestellt:

error_log = /var/www/site1/php_error.log
error_reporting = 22527
file_uploads = On
log_errors = On
max_execution_time = 0
max_file_uploads = 20
max_input_time = -1
memory_limit = 512M
post_max_size = 0
upload_max_filesize = 1000M

Was ist das Problem? Das Hochladen von Dateien mit weniger als 1 MB ist erfolgreich, aber alles, was größer ist, gibt Google Chrome aus:

Error 101 (net::ERR_CONNECTION_RESET): The connection was reset.

Ich habe bereits nach der Fehlerprotokolldatei gesucht, diese ist jedoch nicht im Verzeichnis vorhanden. Ich habe auch überprüft, /var/log/httpd/error_logaber keine Probleme beim Hochladen. Ich weiß nichts anderes, was das Problem verursacht haben könnte, also habe ich nach Ihrer helfenden Hand gegriffen. Vielen Dank!

Jürgen Paul
quelle
Meinten Sie mehr als 1 GB? Schauen Sie sich den Titel Ihrer Frage an!
Ilia Rostovtsev
äh ... ich meinte was ich meinte.
Jürgen Paul
hmm .. in Ordnung, sorry. Sie hatten gerade PHP eingerichtet upload_max_filesize = 1000M und ich würde nicht denken, dass 1 MB Uploads jemals fehlschlagen könnten! Ich wollte es nur noch einmal überprüfen.
Ilia Rostovtsev

Antworten:

10

Ich entdeckte das Problem. Das Problem war mit

In der nginx.conf:

http {
    client_max_body_size 0;
}

Ich machte mich client_max_body_sizean 0. Der Standardwert war 1M.

Jürgen Paul
quelle
Vielen Dank. Kleine Erklärung: Im Dokument von nginx heißt es: "Wenn die angegebene Inhaltslänge größer als diese Größe ist, erhält der Client den HTTP-Fehlercode 413 (" Request Entity Too Large "). Es ist zu beachten, dass Webbrowser dies normalerweise nicht tun wissen, wie man einen solchen HTTP-Fehler richtig anzeigt. " wiki.nginx.org/HttpCoreModule Deshalb ist die Fehlermeldung wahrscheinlich nicht genau.
Fedir RYKHTIK
Ich könnte zu spät zur Party kommen, aber gibt es etwas Ähnliches, das für Apache funktionieren würde?
Henrywright
0

Warum ist post_max_size = 0?

Dies sollte zumindest 1000Min Ihrem Fall der Fall sein, da die meisten Uploads POST-Anforderungen sind.

Paul Basov
quelle
4
Ist es nicht so, dass 0 unbegrenzt ist?
Jürgen Paul