“ক্লায়েন্ট_ম্যাক্স_বডি_সাইজ” সেট সহ এনগিনেক্সে "413 সত্তার জন্য খুব বড় অনুরোধের অনুরোধ করুন"


54

আমি একটি 26 জিবি ফাইল আপলোড করছি তবে আমি পাচ্ছি:

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

এনজিআইএনএক্স কনফিগারেশন ফাইলটি সংশোধন করুন

sudo nano /etc/nginx/nginx.conf

এই পরিবর্তনশীল জন্য অনুসন্ধান করুন: client_max_body_size। যদি আপনি এটি খুঁজে পান তবে উদাহরণস্বরূপ, মাত্র এটির আকার 100M করুন। যদি এটির অস্তিত্ব না থাকে তবে আপনি এটি ভিতরে এবং HTTP এর শেষে যুক্ত করতে পারেন

client_max_body_size 100M;

পরিবর্তনগুলি প্রয়োগ করতে nginx পুনরায় চালু করুন।

sudo service nginx restart

সীমাবদ্ধতার জন্য PHP.ini ফাইলটি পরিবর্তন করুন File

এটি সমস্ত কনফিগারেশনে প্রয়োজন হয় না, তবে আপনাকে পিএইচপি আপলোড সেটিংসও পরিবর্তন করতে হবে এবং নিশ্চিত করতে পারেন যে পিএইচপি কনফিগারেশনের মাধ্যমে কোনও কিছুই সীমা ছাড়িয়ে যাচ্ছে না।

আপনি যদি পিএইচপি 5-এফপিএম ব্যবহার করে নিম্নলিখিত কমান্ডটি ব্যবহার করেন,

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

আপনি যদি পিএইচপি 7.0-এফপিএম ব্যবহার করে নিম্নলিখিত কমান্ডটি ব্যবহার করেন,

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

শেষ পর্যন্ত এটি সংরক্ষণ করুন এবং পিএইচপি পুনরায় চালু করুন।

PHP5-FPM ব্যবহারকারীরা এটি ব্যবহার করেন,

sudo service php5-fpm restart

PHP7.0-FPM ব্যবহারকারীরা এটি ব্যবহার করেন,

sudo service php7.0-fpm restart

এটা ঠিক কাজ করবে !!!


1
কেন ক্লায়েন্ট_ম্যাক্স_বডি_ সাইজের জন্য 100 এমবি?
ব্যবহারকারী 2979409

আপনার প্রয়োজনীয়তা অনুসারে আপনি যে কোনও মান রাখতে পারেন তবে 100 এমবি পর্যাপ্ত
সুখজিন্দর সিং

তবে আমি 30 জিবি ফাইল আপলোড করছি।
ব্যবহারকারী 2979409

সর্বাধিক আকারের একটি ফাইল সন্ধান করুন এবং সেই ফাইলের চেয়ে বেশি এটিকে মঞ্জুরি দিন
সুখজিন্দর সিং

তাহলে ক্লায়েন্ট_ম্যাক্স_দেহী_ সাইজ কেন আমার / অবস্থানের ভিতরে কাজ করে না?
ব্যবহারকারী 2979409

9

আপনি যদি সেই আকারের ফাইলগুলি আপলোড করেন তবে আপনার সম্ভবত বডি আকারের চেকটি পুরোপুরি অক্ষম করে দেওয়া উচিত:

client_max_body_size 0;

3

শ্রদ্ধার সাথে, আমি নিশ্চিত নই আপনি কেন এত বেশি ডেটা স্থানান্তর করতে http ব্যবহার করছেন। আমি আমার বড় ট্রান্সফারগুলি এসএসএসের মাধ্যমে করার চেষ্টা করি

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

... যা আমাকে একটি বিজিপ-সংকুচিত স্থানান্তর দেয়। তবে যদি আমার পুনঃসূচনাযোগ্য স্থানান্তর করার দরকার হয় তবে আমি sftp, lftp, এমনকি rsync ব্যবহার করতে পারি। এর মধ্যে যে কোনও (বা তাদের ডেরাইভেটিভ বা ভাইবোন) সক্ষম

  1. ইচ্ছা থাকলে কোনও এনক্রিপ্ট করা চ্যানেল নিয়োগ করা,
  2. একটি বাধা স্থানান্তর পুনরায় শুরু এবং
  3. স্থানান্তর সংকোচনের

HTTP- র মাধ্যমে আপলোড করার চেষ্টা করার সময় সেগুলির মধ্যে কেবল একটিই আপনার পক্ষে বিকল্প হতে পারে (যেমন, আপনি যদি https তে ছিলেন # 1)।

আমি আশা করি আপনি উপরের যে কোনওটি বা অন্য কয়েকটি বিকল্প সন্ধান করবেন।


এটি প্রশ্নের সাথে কিছুই করার মতো নয়।
জেনকালিস

1
এটি কেবল সেখানে রয়েছে কারণ লোকটি ন্যূরে স্কেল ফাইলগুলি HTTP- র মাধ্যমে স্থানান্তর করছে। কেউ কেন এটি করতে চাইবে সে সম্পর্কে আরও বিশদ ছাড়াই, আমি সেই ব্যক্তিকে বিচার করি যে প্রশ্নটি জিজ্ঞাসা করছে সফলভাবে প্রশ্নের উত্তর না দিয়ে সবচেয়ে ভাল পরিবেশিত হবে। আমি স্বীকার করি যে এই বিবরণগুলি সম্পর্কে আমার অজ্ঞতা একটি সমস্যা।
ম্যাট মারফি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.