जब कंटेंट-लंबाई निर्दिष्ट किए बिना PUT करने की कोशिश कर रहा हूं, तो मैं nginx से 411 स्टेटस पा रहा हूं। क्या ऐसा होने से अक्षम करने का कोई तरीका है?
जब कंटेंट-लंबाई निर्दिष्ट किए बिना PUT करने की कोशिश कर रहा हूं, तो मैं nginx से 411 स्टेटस पा रहा हूं। क्या ऐसा होने से अक्षम करने का कोई तरीका है?
जवाबों:
आप इसे अपनी क्वेरी में जोड़ने का प्रयास कर सकते हैं:
कर्ल -i -X PUT -H 'सामग्री-लंबाई: 0' ' http://www.example.com/test '
HttpChunkinModule को स्थापित करने या Nginx को 1.3.9+ में अपडेट करने का प्रयास करें
इस मॉड्यूल को अब Nginx 1.3.9+ की आवश्यकता नहीं है क्योंकि 1.3.9 के बाद से, Nginx कोर में पहले से ही chunked अनुरोध निकायों के लिए अंतर्निहित समर्थन है।
PUT अनुरोधों के लिए सामग्री-लंबाई की आवश्यकता होती है। यह Nginx नहीं है, यह HTTP है जो यह आवश्यकता बना रहा है। PUT अनुरोध, जैसे POST अनुरोध, आवश्यक रूप से एक सामग्री निकाय है। वह शरीर शून्य-लंबाई का हो सकता है, लेकिन यदि ऐसा है तो आपको स्पष्ट रूप से ऐसा कहना होगा। जाहिर है आप यह नहीं मान सकते हैं कि कनेक्शन बंद होने तक सामग्री जारी रहती है (जो कि एक अनुपस्थित सामग्री-लंबाई हेडर का तात्पर्य है), क्योंकि कनेक्शन बंद होने से पहले सर्वर को अनुरोध का जवाब देने में सक्षम होना पड़ता है।
पुराने ईश प्रश्न, लेकिन जब से मैं एक वेब खोज से इस में ठोकर खाई:
NginX 1.3.9 और इसके बाद के संस्करण POST और PUT के लिए बॉक्स से बाहर "ट्रांसफ़र-एन्कोडिंग: chunked" का समर्थन करता है।
कटा हुआ हस्तांतरण के साथ, आप पहले सामग्री-लंबाई निर्धारित किए बिना फ़ाइलें भेज सकते हैं।