नग्नेक्स: पूरी तरह से अक्षम शरीर अनुरोध कैसे करें


17

मैं अपने Ubuntu बॉक्स पर Madsonic स्थापित करने की कोशिश कर रहा हूं और इसके सामने Nginx चला रहा हूं । समस्या यह है, जब मैं वेब इंटरफेस के माध्यम से सामान अपलोड करने की कोशिश करता हूं तो मुझे यह चेतावनी मिलती रहती है:

31115#0: *14 a client request body is buffered to a temporary file

यह भी बताता है कि अपलोड विंडो पर प्रगति बार काम क्यों नहीं करता है। यहाँ मेरा प्रासंगिक Nginx विन्यास है:

    # proxy the madsonic server here
    location / {
            proxy_pass                      https://madsonic-server/;
            proxy_redirect                  off;
            proxy_buffering                 off;
            proxy_request_buffering         off;
            allow                           all;
            proxy_http_version              1.1;

            proxy_set_header                Host $http_host;
            proxy_set_header                X-Real-IP $remote_addr;
            proxy_set_header                X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header                X-Forwarded-Host $server_name;
            proxy_set_header                X-Forwarded-Proto $scheme;

            client_body_buffer_size         0;
            client_max_body_size            0;
            proxy_max_temp_file_size        0;
            proxy_read_timeout              18000;
            proxy_send_timeout              18000;

            gzip                            off;
    }

मैं फिलहाल नगीनेक्स 1.9.12 का उपयोग कर रहा हूं।

मैं जो हासिल करना चाहता हूं, वह यह है कि नग्नेक्स अनुरोध बॉडी बफ़र्स का उपयोग बिल्कुल न करें और केवल आकार की परवाह किए बिना सीधे अनुरोध बॉडी को मैडिकेनिक पास करें। क्या यह भी संभव है? यदि यह है, तो सही विन्यास क्या होगा?

अन्य प्रश्न बफर आकारों को निर्धारित करने के तरीकों के साथ उत्तर पाने के लिए प्रतीत होते हैं। मुझे कोई बफ़र नहीं चाहिए। मैं सीधे मैडिकनिक के लिए अनुरोध निकाय पास करना चाहता हूं।


आप इसे बंद नहीं कर सकते। आप केवल बफ़र आकार सेट कर सकते हैं।
माइकल हैम्पटन

@Michael Hampton लेकिन इस स्पष्टीकरण के बारे में क्या ?
रेड

आह, तुम सही हो। और आपने अपने प्रश्न का उत्तर दिया है, ऐसा लगता है।
माइकल हैम्पटन

@ मिचेल हैम्पटन अच्छी तरह से, हाँ, सिवाय इसके कि यह अभी भी किसी कारण से बंद नहीं हुआ है :(
रेड

इसके साथ कोई भाग्य? मुझे डॉक्स सेटिंग के अनुसार एक ही समस्या आ रही है कि प्रॉक्सी_request_buffering विल करेगा, लेकिन यह अभी भी अपलोड को बफ़र कर रहा है।
एलेजैंड्रोडम

जवाबों:


17

मैं एक ही मुद्दा एक डोजर रजिस्ट्री के लिए एक nginx प्रॉक्सी की स्थापना की थी। मैंने समाप्त कर दिया:

client_max_body_size 0;
proxy_http_version 1.1;
proxy_request_buffering off;

client_max_body_sizeअभी भी त्रुटि को रोकने के लिए 0 होना चाहिए था, लेकिन watch -n 1 du -hs .स्पष्ट रूप से एक अंतर दिखा। अनुरोध के बाद बफ़रिंग डेटा दिखाई देता है, अनुरोध के दौरान कोई बफ़रिंग दिखाई नहीं देता है।

proxy_http_version 1.1क्योंकि आवश्यक है एन्कोडिंग। Nginx डॉक्स से उद्धरण:

जब HTTP / 1.1 chunked ट्रांसफर एन्कोडिंग का उपयोग मूल अनुरोध बॉडी को भेजने के लिए किया जाता है, तो अनुरोध बॉडी को निर्देश मान की परवाह किए बिना बफ़र किया जाएगा जब तक कि HTTP / 1.1 को प्रॉक्सी के लिए सक्षम नहीं किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.