خطاهای سری 500، که به خطاهای سرور نیز معروف هستند، دستهای از خطاها میباشند که نشاندهنده مشکلات داخلی سرور هستند. این خطاها زمانی رخ میدهند که سرور نتواند درخواست کاربر را به درستی پردازش کند و پاسخ مناسبی ارسال نماید. برخلاف خطاهای سری 400 که به مشکلات در درخواستهای کاربر اشاره دارند، خطاهای سری 500 عمدتاً به مشکلات داخلی سرور مربوط میشوند. این خطاها ممکن است به دلیل مشکلات نرمافزاری، تنظیمات نادرست یا بار زیاد روی سرور به وجود آیند.
اگر بخواهیم کمی ریزتر شده و دلایل دقیقی را بررسی کنیم باید بگوییم موارد زیر میتوانند موجب بروز خطاهای 500 شوند:
- عدم دسترسی یا دسترسی اشتباه به اسکریپت PHP و CGI
- وقفه در اجرای منابع php
- سازگار نبودن نسخه php
- وجود خطای کدنویسی در htaccess
- افزایش ترافیک روی سایت از سمت کاربران یا رباتهای مخرب (اسپمها)
- مشکل ارتباطی سرور با CDN
- مشکل از سمت سرور
- مشکلات سرورهای اشتراکی
- مشکلات مربوط به افزونهها و قالبها
- فشار روی سرور با وجود منابع اضافی (افزونههای بلااستفاده)
- تداخل بین افزونه و قالب سایت
- مشکلاتی در سطوح دسترسی
حال در ادامه با هر کدام از خطاهای سری 500 آشنا شده و راهحلی برای آن ارائه میکنیم.
۱- خطای 500 (500 Internal Server error)
این خطا به خطای سرور داخلی معروف است که به چندین دلیل رخ میدهد. دلایل آن را با هم بررسی میکنیم:
- مشکل در کدنویسی فایل htaccess: این فایل در ریشه اصلی هاست موجود بوده و چنانچه کوچکترین کاراکتر اضافی درون آن موجود باشد شما خطای ۵۰۰ دریافت میکنید. حتی اگر یک حرف اضافی به نام htaccess اضافه شود باز شما این خطا را میگیرید. پس آن را چک کنید تا مشکلی نباشد.
- دسترسی اشتباه به فایلها: تمامی فایلهای موجود در Public_html که با پیشوند wp موجودند باید دارای سطح دسترسی درستی باشند. اگر غیر این باشد شما با خطای ۵۰۰ مواجه میشوید. در ستون دسترسیها یا permission هر عدد مربوط به پوشهها باید ۷۵۵ و برای فایلها ۶۴۴ باشد. اگر غیر این است روی پوشه یا فایل موردنظر کلیک راست کرده و Change Permissions را بزنید تا آن را به عدد گفته شده تغییر دهید.
- مشکل در اجرای در PHP یا PHP Timeout: این مشکل مربوط به اسکریپتهای خارج از سایت میشود که با وقفه در فعالیت مواجه شدهاند و ما را دچار ارورهای 500 میکنند. تنها راه چاره صبوری در این زمینه است.
- نصب افزونه های جدید: گاهی با نصب افزونهای جدید با این خطای ۵۰۰ مواجه میشویم. ممکن است افزونه مخرب بوده یا با افزونهای در سایت سازگاری نداشته باشد. بنابراین باید افزونه مخرب را شناسایی کرده و آن را حذف کنیم.
۲- خطای 501 (Not Implemented 501)
خطای ۵۰۱ مربوط به کد وضعیت HTTP است که اعلام میکند سرور از کارکرد مناسب برای اجرای درخواست شما پشتیبانی نمیکند. یعنی سرور روش درخواست را شناسایی نکرده و برایش ناآشنا است. علت بروز این مشکل به مسائل زیر مربوط میشود:
- وجود ویروس یا بدافزار: چنانچه در سیستم شما ویروسی وجود داشته باشد احتمال حت تاثیر قرار گرفتن وب سرور بالا میرود. برای حل این مشکل باید کامپیوتر خود را بطور کامل اسکن کرده و مشکلات آن را مورد بررسی قرار دهید تا رفع شود.
- بار اضافی روی سرور: وقتی بار ترافیکی روی سرور زیاد میشود تمامی درخواستها کُند شده و قطعا نتیجه ناموفق است و امکان دریافت خطای ۵۰۱ وجود دارد. در اینصورت باید علت حجم اضافی روی سرور را بررسی کنید.
- تنظیمات سرور پروکسی: اگر مرورگر شما از پروکسی استفاده میکند حتما آن را غیرفعال کنید. زیرا ممکن است تداخلی از سمت پروکسی رخ داده باشد. برای غیرفعال کردن تمامی پروکسیهای سیستم در ویندوز به مسیر Settings>Network & Internet>Proxy گزینه Automatically detect settings بروید.
۳- خطای 502 (502 Bad Gateway)
خطای 502 (502 Bad Gateway) زمانی رخ میدهد که یک سرور به عنوان دروازه یا پروکسی عمل میکند و درخواست را به سرور دیگری ارسال میکند، اما پاسخی معتبر از آن سرور دریافت نمیکند. این خطا معمولاً به دلیل مشکلات در ارتباط بین سرورهای مختلف یا سرورهایی که در حال تعامل با یکدیگر هستند رخ میدهد. مانند خطای 504، این خطا نیز اغلب به دلیل مسائل موقتی سرور یا مشکلات شبکه رخ میدهد، اما عوامل دیگری هم ممکن است در بروز آن نقش داشته باشند.
دلایل وقوع خطای 502
- سرور مقصد قطع یا غیرقابل دسترسی است: اگر سرور مقصد خاموش باشد یا به هر دلیلی غیرقابل دسترسی شود، ممکن است خطای 502 نمایش داده شود.
- مشکلات در تنظیمات DNS: اگر سرور در حال بازیابی نام دامنه باشد و به دلیل مشکلات DNS نتواند به درستی آدرس IP سرور مقصد را پیدا کند، این خطا ممکن است رخ دهد.
- مشکلات در تنظیمات پروکسی یا فایروال: گاهی فایروالها یا پروکسیها بهدرستی تنظیم نشدهاند و جلوی ارتباط بین سرورها را میگیرند.
- بار زیاد یا مشکلات نرمافزاری در سرور مقصد: سرور مقصد ممکن است دچار بار زیاد شده باشد یا دچار مشکل نرمافزاری شود که باعث میشود نتواند پاسخ مناسبی به درخواستها بدهد.
روشهای رفع خطای 502
- بررسی و رفع مشکلات DNS: اگر مشکل از تنظیمات DNS باشد، میتوانید سرور DNS خود را به یک سرور قابل اعتماد (مانند Google DNS) تغییر دهید یا رکوردهای DNS را بازبینی و بهروزرسانی کنید. در بعضی موارد، پاکسازی کش DNS (با دستورات مانند ipconfig /flushdns در ویندوز) نیز ممکن است به رفع مشکل کمک کند.
- بازبینی تنظیمات پروکسی و فایروال: اگر از پروکسی یا فایروال استفاده میکنید، اطمینان حاصل کنید که تنظیمات آنها به درستی انجام شده است و ترافیک مجاز است. برخی از فایروالها ممکن است به اشتباه ترافیک بین سرورها را مسدود کنند، که در نتیجه خطای 502 رخ میدهد. بنابراین، میتوانید تنظیمات فایروال را بازبینی کرده و اجازه ارتباط به سرور مقصد بدهید.
- بررسی لاگهای سرور: لاگهای سرور میتوانند اطلاعات مفیدی درباره دلیل بروز خطا ارائه دهند. با بررسی لاگهای سرور، میتوانید متوجه شوید که چه مشکلی در سرور مقصد یا ارتباط بین سرورها وجود دارد و به کمک این اطلاعات اقدامات لازم را انجام دهید.
راهکارهای تکمیلی
اگر خطای 502 به صورت مکرر رخ میدهد، ممکن است مشکل از ساختار یا معماری سرور باشد. در این صورت، میتوانید از راهحلهایی مانند شبکه توزیع محتوا (CDN) برای توزیع بهتر بار یا افزایش منابع سرور استفاده کنید. در نهایت، اگر مشکل حل نشد، با ارائهدهنده خدمات میزبانی خود تماس بگیرید تا بررسیهای بیشتری انجام دهند و مشکلات زیرساختی را برطرف کنند.
۴- خطای 503 (503 Service Unavailable)
یکی دیگر از خطاهای 500 خطای 503 است که در واقع خطای مبهمی بوده و پیدا کردن مشکل در این زمینه کار تقریبا سختی است. یکی از متداولترین مشکلات در این زمینه فشار بیش از حد بر روی سرور است که شما را با این ارورهای سری 500 مواجه میکند. حال این مسئله میتواند به دلیل یک کمپین تبلیغاتی روی سایت و ازدیاد مشتری باشد یا هجوم رباتهای مخرب. در این زمان باید به فکر ارتقای PHP باشید.
همچنین باید افزونهها و قالبها را هم بررسی کنید تا همیشه به روز بوده و با نسخه php سازگار باشند. در صورت ناسازگاری چنین خطایی دریافت میکنید. همچنین اگر افزونهای برای مشاهده و تحلیل آمار سایت دارید، آن را بررسی کنید زیرا این مدل افزونهها موجب فشار زیاد روی سایت خواهند شد.
۵- خطای 504 (504 Gateway Timeout)
خطای 504 Gateway Timeout به معنای آن است که سرور وب در هنگام تلاش برای دریافت پاسخ از یک سرور دیگر، با تایم اوت مواجه شده است. به عبارت سادهتر، سرور اصلی نتوانسته در زمان مشخصی به درخواست سرور واسط پاسخ دهد. این خطا معمولاً به دلیل مشکلات ارتباطی بین سرورها، بارگذاری بیش از حد سرور یا مشکلات فنی دیگر رخ میدهد.
دلایل رایج بروز خطای 504
- بارگذاری بیش از حد سرور: زمانی که تعداد درخواستها به سرور بسیار زیاد باشد، سرور ممکن است نتواند به همه آنها به موقع پاسخ دهد.
- مشکلات شبکه: مشکلات شبکه مانند قطع شدن ارتباط بین سرورها، کندی سرعت اینترنت یا مشکلات DNS میتوانند باعث بروز خطای 504 شوند.
- مشکلات پیکربندی سرور: تنظیمات نادرست سرور، مانند تایم اوتهای کوتاه یا محدودیتهای منابع، میتوانند باعث این خطا شوند.
- مشکلات افزونهها یا قالبهای وردپرس: در برخی موارد، افزونهها یا قالبهای وردپرس ممکن است با هم تداخل داشته باشند و باعث بروز این خطا شوند.
- حمله DDoS: حملات DDoS که در آن حجم زیادی از ترافیک به یک سرور ارسال میشود، میتواند باعث ایجاد این خطا شود.
راههای رفع خطای 504 Gateway Timeout
- صبر کنید: در بسیاری از موارد، خطای 504 موقتی است و با گذشت زمان برطرف میشود. میتوانید چند دقیقه صبر کنید و سپس دوباره صفحه را بارگذاری کنید.
- پشتیبان گیری از سایت: قبل از انجام هرگونه تغییری، از سایت خود نسخه پشتیبان تهیه کنید تا در صورت بروز هرگونه مشکل بتوانید آن را بازیابی کنید.
- پاک کردن کش مرورگر: کش مرورگر ممکن است حاوی اطلاعات قدیمی یا نادرستی باشد که باعث بروز مشکل شود. کش مرورگر خود را پاک کنید.
- بررسی وضعیت سرور: با ارائهدهنده هاست خود تماس بگیرید و از آنها بخواهید وضعیت سرور را بررسی کنند.
- بررسی افزونهها و قالبها: اگر از سیستم مدیریت محتوایی مانند وردپرس استفاده میکنید، سعی کنید افزونهها یا قالبهای جدید را غیرفعال کنید و ببینید آیا مشکل برطرف میشود یا خیر.
- افزایش منابع سرور: اگر بارگذاری بیش از حد سرور باعث بروز مشکل شده است، ممکن است نیاز به افزایش منابع سرور (مانند رم یا پردازنده) داشته باشید.
- بررسی تنظیمات DNS: اطمینان حاصل کنید که تنظیمات DNS شما صحیح است و به سرور صحیح اشاره میکند.
- بررسی فایلهای .htaccess: فایل .htaccess ممکن است حاوی تنظیمات نادرستی باشد که باعث بروز مشکل شود. این فایل را بررسی کنید و در صورت نیاز آن را ویرایش کنید.
- تماس با ارائهدهنده خدمات CDN: اگر از شبکه تحویل محتوا (CDN) استفاده میکنید، با ارائهدهنده خدمات CDN خود تماس بگیرید و از آنها بخواهید مشکل را بررسی کنند.
- بررسی لاگهای سرور: لاگهای سرور میتوانند اطلاعات مفیدی در مورد علت بروز خطا ارائه دهند.
پیشگیری از بروز خطای 504
- بهروزرسانی منظم: همیشه نرمافزارهای خود را (مانند وردپرس، پوستهها و افزونهها) به آخرین نسخه موجود بهروزرسانی کنید.
- استفاده از افزونههای امنیتی: از افزونههای امنیتی برای محافظت از سایت خود در برابر حملات استفاده کنید.
- تهیه نسخه پشتیبان: به صورت منظم از سایت خود نسخه پشتیبان تهیه کنید.
- نظارت بر عملکرد سرور: به طور مرتب عملکرد سرور خود را بررسی کنید تا از بروز هرگونه مشکل آگاه شوید.
توجه: اگر شما یک کاربر مبتدی هستید، توصیه میشود برای رفع این مشکل از یک متخصص کمک بگیرید.
جمع بندی
یکی دیگر از خطاهایی که در دنیای مجازی با آن سر و کار داریم، خطاهای 500 هستند که مشهورترین آنها را در این مقاله بررسی کردیم. اول از همه به دلایل بروز خطاهای سری 500 پرداختیم و سپس راهحلهای اصولی برای آن ارائه کردیم. چنانچه شما نیز با خطایی از این سری خطاها مواجه شدید حتما در بخش دیدگاهها با ما درمیان بگذارید.