nginx upload client_max_body_size sorunu
Ruby-on-raylar ve yükleme dosyaları için basit parçalı bir form var nginx/koşuyorum.
Her şeyi istiyorum yüklenen dosyaların maksimum boyutunu sınırlamak için ben karar verene kadar gayet iyi çalışıyor.
Bunun için nginx kurdumclient_max_body_size
için1m(1MB) ve bu kuralı ihlal ettiğinde cevabı (İstek Varlığı Çok Büyük) HTTP 413 bir durum bekliyoruz.
Soruno zaman ben upload 1.2 MB Dosya yerine görüntüleyen HTTP hatası 413 sayfa, tarayıcı kilitleniyor ve biraz sonra ölecek olan bir "Bağlantı sıfırlandı ise sayfa yükleme" iletisi.
Nginx sunan yok, hiçbir şey iş gibi görünüyor her seçeneği denedim. Kimsenin bu konu hakkında fikri olan var mı?
İşte benim 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;
}
}
Teşekkürler.
**Edit**
Çevre/UA: Windows XP/Firefox 3.6.13
CEVAP
nginx "413 hızlı bir yanıt göndermek ve Bağlantı kapatarak gövde client_max_body_size
daha büyük göndermek için gidiyor, istemci bildirir".
Çoğu hasta tüm istek gövdesini gönderilene kadar cevapları okumuyorsun. Nginx bağlantıyı kapatır çünkü istemci kapalı yuva, veri, TCP RST neden gönderir.
Eğer HTTP istemci destekliyorsa, bu işlemek için en iyi yolu Expect: 100-Continue
bir başlık göndermek için. Nginx doğru bu 1.2.7, ve eğer Content-Length
maksimum vücut boyutunu aşarsa 100 Continue
yerine 413 Request Entity Too Large
Bir yanıt ile cevap verecektir olarak destekler.
nginx - client_max_body_size hiçbir et...
Cookie Sorunu Android Web Görünümü...
Jackson JSON ve Uyku ile sonsuz Özyine...
UİGestureRecognizer ve UİTableViewCell...
Nasıl bir Meteor ile bir dosya upload ...