هنگام ساخت و نگهداری یک وب سایت، با خطاهای غیرمنتظره HTTP اینجا و آنجا مواجه خواهید شد. اجتناب از چنین مشکلاتی دشوار است و حل برخی از آنها دشوارتر از سایرین است.
اگر با خطای «413 Request Entity Too Large» مواجه هستید، خبر خوب این است که رسیدگی به این مشکل سریع و ساده است — فقط باید کمی تنظیمات سرور را انجام دهید. و نه، نیازی نیست که کارشناس فنی باشید. بیایید یاد بگیریم که چگونه.
“413 درخواست موجودیت خیلی بزرگ” به چه معناست؟
کد خطای 413 HTTP زمانی رخ می دهد که اندازه درخواست مشتری از حد مجاز اندازه فایل سرور بیشتر شود. این معمولاً زمانی اتفاق میافتد که یک کلاینت سعی میکند یک فایل بزرگ را در یک وب سرور آپلود کند و سرور با خطای 413 پاسخ میدهد تا به مشتری هشدار دهد.
سرورهای وب محدودیتهایی را برای آپلودها در نظر میگیرند تا از هجوم کاربران به سرور و تجاوز از مجوزهای ذخیرهسازی جلوگیری کنند. این محدودیت معمولاً مشکلی ایجاد نمی کند و فایل های وب سایت معمولی باید به خوبی زیر آن باقی بمانند. با این حال، به خصوص آپلود فایل های بزرگ ممکن است گهگاه از حد مجاز فراتر رود، که منجر به پیامی مانند این می شود:
در حالی که میتوانید اندازه آپلود خود را کاهش دهید تا خطا را برطرف کنید، همچنین میتوانید محدودیت اندازه فایل خود را با برخی تغییرات سمت سرور تغییر دهید.
چرا خطای “413 درخواست موجودیت خیلی بزرگ” رخ می دهد؟
خطای “413 Request Entity Too Large” زمانی رخ می دهد که اندازه درخواست مشتری از محدودیت اندازه فایل سرور بیشتر شود. این خطا معمولاً در صورتی رخ می دهد که بخواهید یک فایل بیش از حد بزرگ را آپلود کنید. سرور با یک پیغام خطای 413 پاسخ می دهد تا نشان دهد موجودیت ارسال شده خیلی بزرگ است.
در اینجا چند نمونه هستند:
- آپلود فایل های رسانه ای بزرگ، مانند تصاویر، فیلم ها یا فایل های صوتی
- ارسال داده های فرم با پیوست های فایل بزرگ
- ایجاد درخواست های API با بارهای بزرگ
- استفاده از سیستم های مدیریت محتوا مانند وردپرس با محدودیت اندازه پیش فرض
خطای “413 Request Entity Too Large” با نام های مختلفی نیز شناخته می شود، مانند:
- کد وضعیت 413
- خطای 413
- کد خطای HTTP: 413
- 413 درخواست موجودیت خیلی بزرگ است
- 413 محموله خیلی بزرگ
- Entity Too Large 413
- 413 درخواست موجودیت خیلی بزرگ است
- خطای HTTP 413
به خاطر داشته باشید که تنها در صورتی می توانید این خطا را برطرف کنید که صاحب وب سایتی باشید که خطا در آن رخ داده است. اگر این اتفاق در یک وب سایت یا برنامه خارجی که از آن استفاده می کنید رخ داده است، باید سعی کنید حجم فایل خود را کاهش دهید یا با مالک یا تیم پشتیبانی مشتری تماس بگیرید.
نحوه رفع خطای “413 Request Entity Too Large”.
بیایید به چند روش برای حل خطای HTTP 413 بپردازیم. ابتدا به برخی از روشهای تشخیص دستگاه، آگنوستیک سرور و میزبانی-اگنوستیک میپردازیم. سپس نحوه رفع خطای 413 را در وب سایت وردپرس خود و به طور خاص در سرورهای Nginx و Apache به شما آموزش خواهیم داد.
1. بازنشانی مجوزهای فایل
در برخی موارد، خطای “413 Request Entity Too Large” می تواند به دلیل مجوزهای فایل نادرست در سرور شما ایجاد شود، بنابراین بازنشانی این مجوزها می تواند کمک کننده باشد. در اینجا نحوه انجام آن آمده است (برخی از تخصص های فنی توصیه می شود):
- به فایل های سرور خود دسترسی داشته باشید : بسته به ارائه دهنده هاست خود، می توانید به روش های مختلف به فایل های سرور خود دسترسی داشته باشید. روش های متداول شامل استفاده از یک سرویس گیرنده FTP یا دسترسی به مدیر فایل از طریق کنترل پنل میزبان خود (مانند cPanel) است.
- مکان دایرکتوری ریشه : به دایرکتوری ریشه وب سایت خود که فایل های سرور در آن ذخیره می شوند بروید. این معمولاً public_html یا www نام دارد.
- انتخاب فایلها و پوشهها : همه فایلها و پوشهها را در فهرست اصلی انتخاب کنید.
- تغییر مجوزها : روی فایلها و پوشههای انتخابشده کلیک راست کرده و گزینه «مجوزها» یا «Properties» را انتخاب کنید. این ممکن است یک کادر محاوره ای باز کند که در آن می توانید مجوزها را بسته به سرور خاص خود تغییر دهید.
- تنظیم مجوزها : مجوزها را روی مقادیر مناسب تنظیم کنید. می توانید این مقادیر را به صورت دستی وارد کنید (مانند 644 یا 755) یا بسته به مدیر فایل خود از کادرهای چک یا منوهای کشویی استفاده کنید.
پس از تنظیم مجدد مجوزهای فایل، دوباره فایل را آپلود کنید. اگر مجوزها دلیل مشکل بودند، دیگر خطا نباید رخ دهد.
هشدار: هنگام اصلاح مجوزهای فایل مراقب باشید، زیرا تنظیم مجوزهای نادرست به طور بالقوه می تواند امنیت و عملکرد وب سایت شما را به خطر بیندازد. این امر به ویژه در صورتی که یک وب سایت وردپرس را اجرا می کنید بسیار مهم است، زیرا وردپرس دارای آسیب پذیری های امنیتی شناخته شده است .
2. به صورت دستی فایل را از طریق FTP آپلود کنید
آپلود فایل از طریق FTP (پروتکل انتقال فایل) می تواند رویکرد خوبی باشد، اما اگر از یک وب سایت وردپرسی استفاده می کنید یا به سرورهای Apache و Nginx خود دسترسی دارید، من آن را به عنوان آخرین راه حل توصیه می کنم. من چندین راه حل در زیر برای آن موارد استفاده ارائه می دهم.
اما اگر این موارد در مورد شما صدق نمی کند یا قبلاً روش های مختلفی را امتحان کرده اید، FTP ارزش امتحان کردن را دارد. این به شما امکان می دهد محدودیت های اعمال شده توسط رابط های وب یا ارسال فرم ها را دور بزنید. به علاوه، به شما امکان می دهد فایل را به سرور منتقل کنید و آپلود را به صورت دستی کنترل کنید. گفته می شود، اگر آپلودها مشمول محدودیت های تحمیل شده توسط سرور باشند، این روش کار نخواهد کرد.
در غیر این صورت، بیایید آن را امتحان کنیم. در اینجا به این صورت است:
- اعتبارنامه FTP خود را به دست آورید : این احتمالاً سخت ترین بخش خواهد بود، اما همچنین مهم ترین آن است. ابتدا به آدرس سرور، نام کاربری، رمز عبور و شماره پورت خود نیاز دارید که به شما امکان می دهد بعداً فایل ها را انتقال دهید.
- یک سرویس گیرنده FTP را نصب کنید : سپس یک کلاینت FTP را انتخاب کنید که به بهترین وجه با نیازهای شما مطابقت دارد. گزینه های محبوب شامل FileZilla، Cyberduck یا WinSCP هستند.
- سرویس گیرنده FTP را راه اندازی کنید : کلاینت FTP خود را باز کنید و آدرس سرور FTP، نام کاربری، رمز عبور و شماره پورتی را که قبلاً به دست آورده اید وارد کنید.
- اتصال به سرور FTP : برای اتصال به سرور FTP روی دکمه “اتصال” یا “اتصال سریع” کلیک کنید. در صورتی که اعتبارنامه صحیح را ارائه کرده باشید، کلاینت FTP به سرور وب سایت شما متصل می شود.
- به دایرکتوری مورد نظر بروید : پس از اتصال، کلاینت FTP دایرکتوری ها و فایل ها را روی سرور شما نمایش می دهد. به پوشه ای که می خواهید فایل را در آن آپلود کنید بروید. این می تواند دایرکتوری ریشه یا یک پوشه خاص باشد.
- آپلود فایل : فایل را از رایانه خود به دایرکتوری سرور راه دور مشتری FTP بکشید و رها کنید. انتقال فایل آغاز خواهد شد.
من همچنین توصیه می کنم مجوزهای فایل را تنظیم کنید، اگر به طور خودکار انجام نمی شود. روی فایل آپلود شده در سرویس گیرنده FTP کلیک راست کرده و “Properties” یا “Permissions” را انتخاب کنید. مطمئن شوید که مجوزهای فایل صحیح است تا فقط به کاربران مناسب اجازه دسترسی داده شود.
اگر روی سیستمی شبیه به یونیکس کار می کنید، مجوزها معمولاً برای فایل ها 644 هستند. “644” یک مجوز پیش فرض رایج است که به شما، مالک اجازه می دهد تا فایل را بخوانید و تغییر دهید، در حالی که اعضای گروه و سایر کاربران می توانند آن را بخوانند. ( اگر کنجکاو هستید، این اعداد به چه معنا هستند .)
هنگامی که فایل از طریق FTP آپلود شد، به وب سایت خود دسترسی پیدا کنید و ببینید آیا فایل آپلود شده همانطور که در نظر گرفته شده است بدون ایجاد خطای “413 Request Entity Too Large” کار می کند یا خیر.
3. با ارائه دهنده هاست خود تماس بگیرید
اگر چندین روش را امتحان کردهاید یا ترجیح میدهید با فایلهای سرور یا FTPها مشکلی نداشته باشید، با ارائهدهنده هاست خود تماس بگیرید . آنها روی تنظیمات سرور که ممکن است باعث ایجاد خطا شوند کنترل دارند. آنها همچنین دارای تخصص فنی برای ایجاد تغییرات بدون آسیب رساندن به وب سایت شما هستند که یک مزیت بزرگ است.
اگر بدون اینکه متوجه شوید از محدودیت اندازه فایل اعمال شده توسط برنامه میزبانی خود فراتر رفته اید، آنها می توانند محدودیت ها را تأیید کنند یا در صورت لزوم محدودیت اندازه را افزایش دهند (مثلاً با ارتقای برنامه خود).
ارائه دهنده هاست شما همچنین ممکن است از یک شبکه تحویل محتوا (CDN) برای بهبود عملکرد وب سایت شما استفاده کند. مشکل این است که سرورهای CDN ممکن است محدودیتهای اندازه فایل خود را داشته باشند، که میتواند خطای 413 را ایجاد کند. میزبان وب سایت شما می تواند به شما در پیمایش این محدودیت ها یا حتی تنظیم تنظیمات CDN برای شما کمک کند.
در مرحله بعد، به شما نشان خواهیم داد که چگونه با افزایش محدودیت اندازه خود با تنظیم وردپرس و همچنین با پیکربندی سرور Apache یا Nginx، خطای 413 را برطرف کنید.
همه روشها به برخی ویرایشها در فایلهای سرور شما نیاز دارند، بنابراین توصیه میکنیم قبل از انجام مراحل زیر یک نسخه پشتیبان تهیه کنید.
نحوه رفع خطای 413 در وردپرس
تم ها و افزونه ها دلایل رایج خطای 413 در سیستم مدیریت محتوای وردپرس هستند . خوشبختانه، راههای مختلفی وجود دارد که میتوانید محدودیت اندازه آپلود وردپرس خود را به اندازهای افزایش دهید که اجازه دهید این فایلهای بزرگتر وارد شوند. تا زمانی که از محدودیت های طرح میزبانی خود تجاوز نکنید، می توانید یکی از موارد زیر را امتحان کنید:
روش 1: PHP.ini را اصلاح کنید
ساده ترین روش برای افزایش محدودیت آپلود، اصلاح فایل PHP.ini سرور است . در اینجا، می توانید محدودیت خود را از طریق رابط cPanel بدون هیچ کدنویسی تغییر دهید. برای انجام این:
1. در منوی cPanel خود، MultiPHP INI Editor را در بخش Software انتخاب کنید .
2. در پنجره ای که ظاهر می شود، دامنه خود را از منوی کشویی انتخاب کنید.
3. مقادیر پارامترهای زیر را به اولویت خود تغییر دهید:
- max_execution_time (حداکثر زمان برای آپلود، در ثانیه)
- upload_max_filesize (حداکثر اندازه آپلود، بر حسب مگابایت)
- post_max_size (حداکثر اندازه پست، بر حسب مگابایت)
4. پس از اتمام، روی Apply کلیک کنید .
روش 2: htaccess. را تغییر دهید
اگر سایت وردپرس شما بر روی سرور آپاچی میزبانی میشود، میتوانید محدودیت سرور خود را از طریق .htaccess ، فایلی که حاوی دستورالعملهای زیادی برای سرور است، افزایش دهید. راه حل زیر را ببینید .
روش 3: functions.php را اصلاح کنید
همچنین میتوانید محدودیت اندازه خود را از طریق فایل functions.php قالب فعلی وردپرس خود افزایش دهید.
اگر میخواهید این تغییر را دائمی کنید، توصیه میکنیم ابتدا روشهای بالا را امتحان کنید. با این رویکرد، باید هر زمان که تم فعلی خود را بهروزرسانی یا تغییر میدهید، functions.php را بهروزرسانی کنید .
1. در منوی cPanel خود، File Manager را در قسمت Files انتخاب کنید .
2. به پوشه تم فعلی خود در فهرست اصلی وردپرس خود بروید ( به طور پیش فرض public_html ). این فایل تم را باز کنید.
3. functions.php را انتخاب کرده و روی نماد Edit کلیک کنید .
4. کد زیر را کپی کرده و در انتهای فایل پیست کنید
@ini_set( ‘upload_max_size’ , ’64M’ );
@ini_set( ‘post_max_size’, ’64M’);
@ini_set( ‘max_execution_time’, ‘300’ );
5. روی ذخیره کلیک کنید .
این کد حداکثر اندازه مجاز آپلودها و پست های وردپرس شما را روی 64 مگابایت تنظیم می کند. در صورت نیاز می توانید این عدد را به چیزی بزرگتر یا کوچکتر تغییر دهید، البته تا زمانی که از محدودیت فضای ذخیره سازی برنامه میزبانی خود تجاوز نکنید.
همچنین حداکثر مدت زمان آپلودهای شما را 300 ثانیه تعیین می کند. این را نیز تغییر دهید.
چگونه 413 موجودیت درخواستی خیلی بزرگ را در Nginx رفع کنیم
تنظیمات سرور Nginx را می توان در داخل فایل nginx.conf تغییر داد . این فایل را باز کنید و دستور client_max_body_size را بررسی کنید . سپس، مقدار (بر حسب مگابایت) را به حداکثر اندازه ترجیحی فایل خود تغییر دهید.
اگر این دستورالعمل را در nginx.conf نمیبینید ، میتوانید آن را به انتهای یک سرور ، مکان یا بلوک http اضافه کنید:
server {
...
client_max_body_size 64M;
}
این امکان آپلود 64 مگابایتی را فراهم می کند. این عدد را روی اولویت خود تنظیم کنید، فایل را ذخیره کنید، سپس Nginx را دوباره بارگیری کنید تا تغییر اعمال شود.
نحوه رفع خطای 413 در آپاچی
با به روز رسانی فایل htaccess. خود، محدودیت اندازه را در سرور آپاچی تغییر دهید :
1. در منوی cPanel خود، File Manager را در قسمت Files انتخاب کنید .
2. در فهرست اصلی وردپرس خود ( به طور پیش فرض public_html )، htaccess. را پیدا کنید . بسته به تنظیمات شما، فایل htaccess. ممکن است پنهان باشد.
3. htaccess را انتخاب کرده و روی نماد Edit کلیک کنید .
4. کد زیر را در پایین فایل htaccess خود کپی و جایگذاری کنید :
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
5. روی ذخیره کلیک کنید و آپاچی را دوباره بارگیری کنید.
با انجام این کار حداکثر اندازه مجاز آپلودها و پست های وردپرس شما به 64 مگابایت و حداکثر زمان آپلود فایل روی 300 ثانیه تنظیم می شود. شما می توانید هر دوی این مقادیر را به دلخواه خود تغییر دهید.
هنوز 413 می گیری؟
پس از امتحان یک یا چند راهحل بالا، ممکن است هنگام آپلود فایلهای بزرگ با خطای 413 مواجه شوید، حتی اگر این فایلها کمتر از حد مجاز اندازه جدید شما باشند.
در این مورد، مشکل ممکن است ناشی از سرورهای CDN شما یا برخی محدودیتهای دیگر تنظیمشده توسط ارائهدهنده میزبان شما باشد . همانطور که گفته شد، با پشتیبانی هاست خود تماس بگیرید و مشکل و اقداماتی را که تاکنون برای حل آن انجام داده اید شرح دهید. ممکن است بدون اینکه متوجه شوید از محدودیت اندازه فایل برنامه خود فراتر رفته اید. یا ممکن است تنظیمات شما به طور ناخواسته باعث خطای دیگری شده باشد.
اگر از CDN برای بهبود عملکرد سایت خود استفاده میکنید، ممکن است دلیل مشکل شما نیز همین باشد – سرورهای CDN که استفاده میکنید ممکن است محدودیتهایی برای اندازه فایل اعمال کنند که بسیار کوچک هستند. از آنجایی که احتمالاً نمیتوانید فایلهای این سرورها را مستقیماً تغییر دهید، باید با اسناد ارائهدهنده CDN خود مشورت کنید یا برای رفع خطا با پشتیبانی محصول تماس بگیرید.
اگر همه چیز شکست خورد، آپلود فایل های جایگزین، کاهش حجم فایل فعلی یا ارتقای برنامه ذخیره سازی خود را در نظر بگیرید. اگر متوجه شدید که نیاز به آپلود حجم عظیمی از داده ها دارید، به احتمال زیاد یک راه حل وجود دارد.
رفع خطای 413
در حالی که خطاهای HTTP می تواند ناامید کننده باشد، بسیاری از آنها به سرعت قابل حل هستند، از جمله 413. با یافتن و حل این مشکل اکنون، یک چیز کمتر در هنگام ساخت وب سایت خود نگران خواهید بود. اگر سایت شما به کاربران اجازه می دهد محتوای خود را آپلود کنند، تغییر محدودیت اندازه آپلود شما نیز این مشکل را حل می کند – فقط مطمئن شوید که از محدودیت های تعیین شده توسط برنامه میزبانی خود تجاوز نمی کنید.
در مورد بهترین گزینه، به کاربران وردپرس توصیه می کنیم در صورت امکان ابتدا فایل PHP.ini سرور خود را تغییر دهند، زیرا این کار به راحتی می تواند از طریق پنل میزبانی شما انجام شود. در غیر این صورت، گزینه ای را انتخاب کنید که با نرم افزار سرور شما مطابقت دارد.
این پست در ابتدا در ژانویه 2021 منتشر شد و برای جامعیت به روز شده است.
این مقاله توسط یک انسان نوشته شده است، اما تیم ما از هوش مصنوعی در فرآیند ویرایش خود استفاده می کند. افشای کامل ما را بررسی کنید تا درباره نحوه استفاده ما از هوش مصنوعی بیشتر بدانید.