Ich verwende Nginx / Ruby-on-Rails und habe ein einfaches mehrteiliges Formular zum Hochladen von Dateien. Alles funktioniert einwandfrei, bis ich mich entscheide, die maximale Größe der Dateien, die ich hochladen möchte, einzuschränken. Dazu setze ich den Nginx client_max_body_size
auf 1 MB ( 1 MB) und erwarte als Antwort einen HTTP 413-Status (Request Entity Too Large), wenn diese Regel verletzt wird.
Das Problem ist, dass beim Hochladen einer 1,2-MB-Datei anstelle der Anzeige der HTTP 413-Fehlerseite der Browser ein wenig hängt und dann mit der Meldung "Verbindung wurde zurückgesetzt, während die Seite geladen wurde" stirbt.
Ich habe fast jede Option ausprobiert, die Nginx bietet, nichts scheint zu funktionieren. Hat jemand irgendwelche Ideen dazu?
Hier ist meine nginx.conf:
worker_processes 1;
timer_resolution 1000ms;
events {
worker_connections 1024;
}
http {
passenger_root /the_passenger_root;
passenger_ruby /the_ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.x.com;
client_max_body_size 1M;
passenger_use_global_queue on;
root /the_root;
passenger_enabled on;
error_page 404 /404.html;
error_page 413 /413.html;
}
}
Vielen Dank.
**Edit**
Umgebung / UA: Windows XP / Firefox 3.6.13
Content-Length
eher sendet als tutTransfer-Encoding: chunked
.