के माध्यम से एक खंडित अनुरोध कैसे करें ऐसा लगता है कि nginx chunked अनुरोधों का अच्छी तरह से समर्थन नहीं करता है। लेकिन मैं एक और निश्चित (और वर्तमान) उत्तर पाने की कोशिश कर रहा हूं। मेरे पास क्लाइंट जावा क्लाइंट से सर्वर पर एक SOAP अनुरोध कर रहा है जो शीर्षलेख Transfer-Encoding: chunked
सेट करता है। जब मैं सीधे टॉमकैट पर अपने आवेदन से कनेक्ट होता हूं तो सभी ठीक काम करते हैं।nginx
लेकिन जब मैं उनके बीच nginx डालता हूं, तो चीजें तोड़ती हैं।
कुछ विवरण जोड़ने के लिए: मैं क्लाउडफाउंड्री के साथ काम कर रहा हूं। मैं माइक्रो क्लाउड फाउंड्री का उपयोग यह पुष्टि करने के लिए कर रहा हूं कि चीजें nginx की अनुपस्थिति में अपेक्षित काम करती हैं। लेकिन मेरी आवश्यकता क्लाउडफॉउंड्री डॉट कॉम का उपयोग करना है, इसलिए मेरे पास वहां nginx को बाईपास करने की क्षमता नहीं है।
This question and answer कहता है कि यह शायद मेरा एकमात्र कामकाज है: http://wiki.nginx.org/NginxHttpChunkinModule। लेकिन यह कामकाज उपलब्ध नहीं है, क्योंकि मैं cloudfoundry.com पर कॉन्फ़िगरेशन को संशोधित नहीं कर सकता।
This question इसी तरह दिखता है, लेकिन यह वास्तव में इस आवश्यकता के विपरीत को शामिल करता है। इसमें खंडित अनुरोधों के बजाय खंडित प्रतिक्रियाएं शामिल हैं।
तो क्लाइंट पर इस पर काम करने के लिए किसी भी बदलाव के बारे में कैसे? क्या हेडर के रूप में Transfer-Encoding: chunked
और Content-Length: 123
दोनों भेजना संभव है? यह क्षेत्र मेरे लिए नया है, लेकिन यह अपाचे एचटीपी कॉम्पोनेंट्स जैसी परियोजनाओं से लगता है कि कोई भी लंबाई या चंकिंग सेट करेगा लेकिन दोनों नहीं। खंडन का मुद्दा यह है कि अनुरोध शुरू होने पर आपको लंबाई जानने की आवश्यकता नहीं है। क्या मैं अपने क्लाइंट को एचटीटीपी/1.0 का उपयोग करने के लिए बता सकता हूं और बिना किसी कंकड़ के nginx के साथ अच्छा खेल सकता हूं? क्या कोई अन्य कामकाज विचार है जिसे मैं भूल रहा हूं?
क्या ट्रांसफर-एन्कोडिंग दोनों भेजना संभव है: खंडित और सामग्री-लंबाई: 123 हेडर के रूप में? क्या यह आम है? – mdahlman