J'utilise nginx / ruby-on-rails et j'ai un simple formulaire en plusieurs parties pour télécharger des fichiers. Tout fonctionne bien jusqu'à ce que je décide de limiter la taille maximale des fichiers que je souhaite télécharger. Pour ce faire, j'ai défini le nginx client_max_body_size
sur 1 m (1 Mo) et j'attends un statut HTTP 413 (Request Entity Too Large) en réponse lorsque cette règle se rompt.
Le problème est que lorsque je télécharge un fichier de 1,2 Mo, au lieu d'afficher la page d'erreur HTTP 413, le navigateur se bloque un peu puis meurt avec un message «La connexion a été réinitialisée pendant le chargement de la page».
J'ai essayé à peu près toutes les options proposées par nginx, rien ne semble fonctionner. Quelqu'un a-t-il des idées à ce sujet?
Voici mon 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;
}
}
Merci.
**Edit**
Environnement / UA: Windows XP / Firefox 3.6.13
Content-Length
plutôt que de faireTransfer-Encoding: chunked
.