मैं nginx/ruby-on-rails चला रहा हूं और मेरे पास फ़ाइलों को अपलोड करने के लिए एक साधारण मल्टीपार्ट फ़ॉर्म है। सब कुछ ठीक काम करता है जब तक कि मैं अपलोड की गई फ़ाइलों के अधिकतम आकार को प्रतिबंधित करने का निर्णय नहीं लेता। ऐसा करने के लिए, मैंने nginx client_max_body_size
से 1m (1MB) सेट किया है और उस नियम को तोड़ने पर प्रतिक्रिया में HTTP 413 (अनुरोध इकाई बहुत बड़ी) स्थिति की अपेक्षा है।nginx अपलोड client_max_body_size समस्या
समस्या कि जब मैं एक 1.2 एमबी फाइल अपलोड करें, बजाय HTTP 413 त्रुटि पृष्ठ प्रदर्शित करने में, ब्राउज़र एक सा लटका हुआ है और उसके बाद के साथ संदेश एक "यह पृष्ठ लोड किया गया था कनेक्शन रीसेट किया गया था" मर जाता है।
मैंने nginx ऑफ़र के बारे में हर विकल्प की कोशिश की है, कुछ भी काम नहीं करता है। क्या किसी के पास इस बारे में कोई विचार है?
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;
}
}
धन्यवाद:
यहाँ मेरी nginx.conf है।
**Edit**
पर्यावरण/यूए: Windows XP/फ़ायरफ़ॉक्स 3.6.13
ओह, मुझे यह इंगित करना चाहिए कि यह जवाब मानता है कि यह जवाब मानता है क्लाइंट 'ट्रांसफर-एन्कोडिंग: चंकड' करने के बजाए 'सामग्री-लंबाई' भेज रहा है। –
nginx लेखक ने मेलिंग सूची पर इसे ठीक करने के लिए एक पैच पोस्ट किया: http://nginx.2469901.n2.nabble.com/client-max-body-size-and-100-Continue-413-Request-Entity-Too -Large-tp7582547p7582554.html कोई शब्द नहीं है कि इसे 1.2.x स्थिर शाखा में जोड़ा जाएगा या नहीं। –
धन्यवाद, वास्तव में बहुत कुछ बताता है। निश्चित रूप से 'अपेक्षा' जैसा दिखता है बड़े अनुरोधों के लिए जाने का तरीका है। – krukid