"क्लाइंट_मैक्स_बॉडी_साइज़" सेट के साथ नग्नेक्स में "413 रिक्वेस्ट एंटिटी टू लार्ज"


54

मैं एक 26Gb फ़ाइल अपलोड कर रहा हूँ, लेकिन मुझे यह मिल रहा है:

413 Request Entity Too Large

मुझे पता है, यह संबंधित है client_max_body_size, इसलिए मेरे पास यह पैरामीटर सेट है 30000M

  location /supercap {
    root  /media/ss/synology_office/server_Seq-Cap/;
    index index.html;
    proxy_pass  http://api/supercap;
  }

  location /supercap/pipe {
    client_max_body_size 30000M;
    client_body_buffer_size 200000k;
    proxy_pass  http://api/supercap/pipe;
    client_body_temp_path /media/ss/synology_office/server_Seq-Cap/tmp_nginx;
  }

लेकिन मुझे अभी भी यह त्रुटि मिलती है जब पूरी फाइल अपलोड हो गई है।

जवाबों:


69

NGINX कॉन्फ़िगरेशन फ़ाइल को संशोधित करें

sudo nano /etc/nginx/nginx.conf

इस चर की खोज करें client_max_body_size:। यदि आप इसे पाते हैं, तो उदाहरण के लिए इसका आकार बढ़ाकर 100M करें। यदि यह मौजूद नहीं है, तो आप इसे http के अंत में और अंदर जोड़ सकते हैं

client_max_body_size 100M;

परिवर्तनों को लागू करने के लिए nginx को पुनरारंभ करें।

sudo service nginx restart

अपलोड सीमा के लिए PHP.ini फ़ाइल को संशोधित करें

यह सभी कॉन्फ़िगरेशन पर आवश्यक नहीं है, लेकिन आपको PHP अपलोड सेटिंग्स को संशोधित करने के साथ-साथ यह सुनिश्चित करने के लिए भी हो सकता है कि php कॉन्फ़िगरेशन द्वारा कुछ भी सीमा से बाहर नहीं हो रहा है।

यदि आप कमांड के बाद PHP5-FPM उपयोग कर रहे हैं,

sudo nano /etc/php5/fpm/php.ini

यदि आप PHP7.0-FPM उपयोग के बाद कमांड का उपयोग कर रहे हैं,

sudo nano /etc/php/7.0/fpm/php.ini

अब एक के बाद एक निर्देश पाएं

upload_max_filesize
post_max_size

और इसकी सीमा को 100M तक बढ़ाते हैं, डिफ़ॉल्ट रूप से वे 8M और 2M हैं।

upload_max_filesize = 100M
post_max_size = 100M

अंत में इसे सेव करें और PHP को पुनरारंभ करें।

PHP5-FPM उपयोगकर्ता इसका उपयोग करते हैं,

sudo service php5-fpm restart

PHP7.0-FPM उपयोगकर्ता इसका उपयोग करते हैं,

sudo service php7.0-fpm restart

यह ठीक काम करेगा !!!


1
क्‍यों nginx.conf में client_max_body_size के लिए 100Mb?
user2979409

आप अपनी आवश्यकताओं के अनुसार किसी भी मूल्य को रख सकते हैं लेकिन 100 एमबी पर्याप्त है
सुखजिंदर सिंह

लेकिन मैं 30 जीबी फ़ाइलों तक अपलोड कर रहा हूं।
user2979409

अधिकतम आकार की एक फ़ाइल ढूंढें और इसे उस फ़ाइल से अधिक की अनुमति दें
सुखजिंदर सिंह

तो क्यों client_max_body_size मेरे / स्थान के अंदर काम नहीं करता है?
user2979409

9

यदि आप उस आकार की फाइलें अपलोड कर रहे हैं, तो आपको संभवतः शरीर के आकार की जांच को पूरी तरह से अक्षम कर देना चाहिए:

client_max_body_size 0;

3

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

//such as:
tar cjf - /path/to/stuff | ssh user@remote-host "cd /path/to/remote/stuff;tar xjf -"

... जो मुझे एक bipip- संपीड़ित हस्तांतरण देता है। लेकिन अगर मुझे फिर से शुरू करने की जरूरत है, तो मैं sftp, lftp, यहां तक ​​कि rsync का उपयोग कर सकता हूं। उनमें से कोई भी (या उनके डेरिवेटिव या भाई-बहन) सक्षम है

  1. यदि वांछित है, तो एन्क्रिप्टेड चैनल को नियोजित करना
  2. एक अंतर्संबंधित स्थानांतरण फिर से शुरू करना और
  3. स्थानांतरण को संपीड़ित करना

Http (अर्थात्, # 1 पर यदि आप https पर थे) अपलोड करने का प्रयास करते समय उनमें से केवल एक ही आपके लिए एक विकल्प होगा।

मुझे उम्मीद है कि आप उपरोक्त या कई अन्य विकल्पों में से किसी पर गौर करेंगे।


यह सवाल के साथ कुछ नहीं करना है।
ज़ेनकिल्स

1
यह केवल इसलिए है क्योंकि लड़का http से अधिक ब्ल्यू-स्केल फ़ाइलों को स्थानांतरित कर रहा है। कोई व्यक्ति ऐसा क्यों करना चाहेगा, इस बारे में अधिक विस्तार किए बिना, मैं उस व्यक्ति से पूछ रहा हूं कि सवाल पूछने वाले को सवाल का सफलतापूर्वक जवाब नहीं देने से सबसे अच्छा काम होगा। मैं स्वीकार करता हूं कि उन विवरणों से मेरी अनभिज्ञता एक समस्या है।
मैट मर्फी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.