ارورهای سری ۵xx مربوط به سرور و روشهای رفع آنها
در دنیای وب، هرگاه کاربری وارد سایتی میشود، مرورگر با سرور مقصد ارتباط برقرار میکند تا محتوای درخواستی را نمایش دهد. اما گاهی این ارتباط دچار اختلال میشود و نتیجهی آن، نمایش پیامی است که با عددی سهرقمی آغاز میشود. این عدد، در واقع کد وضعیت HTTP است و یکی از مهمترین ابزارها برای تشخیص سلامت یا خطای یک وبسایت محسوب میشود.
کدهایی که با عدد ۵ آغاز میشوند، نشاندهندهی بروز مشکل در سمت سرور هستند؛ یعنی درخواست کاربر صحیح ارسال شده اما سرور نتوانسته پاسخ مناسبی برگرداند. این خطاها میتوانند موقتی باشند یا نشانهای از یک ایراد ساختاری در وبسرور، تنظیمات نرمافزاری یا حتی محدودیت منابع باشند. در این مقاله به بررسی انواع ارورهای سری ۵xx و روشهای رفع هرکدام خواهیم پرداخت.
.1 آشنایی با خطاهای سری ۵xx
کدهای وضعیت HTTP در پنج دستهی اصلی تقسیم میشوند. دستهی پنجم ۵xx مربوط به خطاهایی است که از سمت سرور ایجاد میشوند. زمانی که مرورگر پیامی مانند ۵۰۰ Internal Server Error یا ۵۰۳ Service Unavailable را نمایش میدهد، بدین معناست که وبسرور درخواست کاربر را دریافت کرده اما در پردازش یا پاسخدهی با مشکل مواجه شده است.
این خطاها معمولاً از سمت کاربر قابل رفع نیستند و نیاز به بررسی دقیق در سطح سرور، لاگها و تنظیمات دارند.
.2معرفی انواع ارورهای سری ۵xx
در این بخش، خطاهای شناختهشده در محدودهی ۵۰۰ تا ۵۱۱ بررسی میشوند تا درک دقیقی از معنای هر کدام و روش رفع آنها بهدست آید.
- ۵۰۰ – Internal Server Error
رایجترین خطای سمت سرور است. این ارور زمانی رخ میدهد که سرور با خطایی عمومی و غیرقابلپیشبینی روبهرو میشود. علت میتواند از تنظیمات نادرست .htaccess گرفته تا خطای PHP یا تداخل در ماژولهای وبسرور باشد.
روش رفع:
- بررسی فایل .htaccess برای دستورهای اشتباه.
- ری نیم کردن فایل .htaccess و ایجاد فایل جدید با تنظیمات پیش فرض.
# BEGIN wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END wordpress
- فعالسازی display_errors در PHP برای شناسایی دقیقتر خطا.
- بررسی فایلهای لاگ :
/var/log/apache2/error.log
یا
/usr/local/lsws/logs/error.log.
- در وردپرس، غیرفعال کردن افزونهها یا بازگرداندن قالب پیشفرض نیز میتواند مؤثر باشد.
- در وردپرس، اگر ورود به پیشخوان ممکن نیست، از طریق File Manager وارد مسیر wp-content شوید و پوشهی plugins را به نام دیگری )مثلاً (plugins_old تغییر دهید تا همهی افزونهها غیرفعال شوند. سپس سایت را رفرش کنید تا بررسی شود مشکل از افزونهها بوده یا خیر.
- در صورت نیاز میتوانید در فایل wp-config.php خط زیر را نیز اضافه یا مقدار آن را true کنید تا خطاها نمایش داده شوند:
define(‘WP_DEBUG’, true);
پس از رفع خطا، حتماً مقدار آن را دوباره روی false برگردانید.
- ۵۰۱ – Not Implemented
این خطا زمانی ظاهر میشود که وبسرور قادر به اجرای متد درخواستی (مثلاً PUT یا DELETE) نباشد یا از نسخهی خاصی از پروتکل HTTP پشتیبانی نکند.
روش رفع:
- اطمینان از پشتیبانی وبسرور از متدهای HTTP مورد استفاده.
- بررسی تنظیمات فایروال یا پروکسی که ممکن است برخی متدها را مسدود کرده باشند.
- ۵۰۲ – Bad Gateway
زمانی اتفاق میافتد که یک سرور در مسیر پاسخدهی به عنوان Gateway یا Proxy عمل میکند اما پاسخ معتبری از سرور اصلی دریافت نمیکند. در هاستهای اشتراکی یا پشت CDNها (مثل Cloudflare) این خطا رایج است.
روش رفع:
- بررسی سلامت وبسرور اصلی (مثلاً Apache یا Nginx)
- ریست سرویسهای مرتبط برای رفع وضعیتهای موقتی:
ریست Nginx :
systemctl restart nginx
ریست PHP-FPM (مدیریت پردازشهای PHP):
systemctl restart php-fpm
یا اگر نسخه مشخصی نصب است:
systemctl restart php7.4-fpm
systemctl restart php8.1-fpm
ریست LiteSpeed :
systemctl restart lsws
یا
/usr/local/lsws/bin/lswsctrl restart
- در تنظیمات Nginx، بررسی دستور proxy_pass برای مسیر صحیح.
- در Cloudflare، غیرفعال کردن موقت CDN جهت اطمینان از منبع خطا.
- ۵۰۳ – Service Unavailable
به معنای در دسترس نبودن موقت سرویس است. معمولاً زمانی رخ میدهد که منابع سرور (CPU، RAM یا I/O) بیش از حد مصرف شده باشند یا سرویس وب در حال ریست یا بروزرسانی باشد.
روش رفع:
- بررسی مصرف منابع در لینوکس.
Top
یا
htop
- افزایش محدودیتهای PHP مانند max_execution_time و memory_limit
- ریست سرویس وبسرور در صورت هنگکردن پردازشها:
برای Apache (httpd) :
systemctl restart httpd
یا
service apache2 restart
برای LiteSpeed :
systemctl restart lsws
یا در سرورهایی که با WHM یا cPanel کار میکنند، میتوان از طریق SSH دستور زیر را هم اجرا کرد:
/usr/local/lsws/bin/lswsctrl restart
- ۵۰۴ – Gateway Timeout
این خطا زمانی بروز میکند که سرور میانی (مثلاً Nginx یا پروکسی) منتظر پاسخ از سرور اصلی میماند اما در زمان تعیینشده پاسخی دریافت نمیکند.
روش رفع:
- افزایش مقدار proxy_read_timeout و fastcgi_read_timeout در تنظیمات Nginx
- بررسی ارتباط بین سرور پروکسی و سرور اصلی (Ping و Traceroute)
- بهینهسازی کوئریهای دیتابیس یا اسکریپتهای طولانی.
- ۵۰۵ – HTTP Version Not Supported
سرور از نسخهی درخواستی HTTP پشتیبانی نمیکند.
روش رفع:
– اطمینان از سازگاری نرمافزار وبسرور با نسخههای HTTP/1.1 یا HTTP/2
– بررسی تنظیمات Reverse Proxy و اطمینان از هماهنگی نسخهها.
- ۵۰۶ – Variant Also Negotiates
در این حالت، سرور در فرآیند “مذاکرهی محتوا (Content Negotiation) ” دچار چرخهی بیپایان میشود؛ یعنی سرور به جای ارائهی نسخهی مناسب محتوا، خودش را بهعنوان منبع معرفی میکند.
روش رفع:
- اصلاح تنظیمات mod_negotiation در Apache
- غیرفعال کردن MultiView در فایل .htaccess در صورت فعال بودن.
- ۵۰۷ – Insufficient Storage
یعنی سرور فضای کافی برای ذخیره یا پردازش درخواست ندارد. معمولاً در سرورهای مجازی با دیسک محدود رخ میدهد.
روش رفع:
- بررسی میزان فضای دیسک
df -h
- حذف فایلهای لاگ یا Temporary غیرضروری.
- ارتقاء پلن هاست یا دیسک سرور.
- ۵۰۸ – Loop Detected
سیستم در حین پردازش درخواست دچار حلقهی بینهایت شده است. این خطا بیشتر در محیطهایی که از WebDAV یا سیستمهای مدیریت محتوا استفاده میشود مشاهده میگردد.
روش رفع:
- بررسی ساختار لینکهای داخلی یا ریدایرکتهای متوالی.
- در وردپرس، حذف افزونههای کش یا Redirect و پاکسازی فایل .htaccess.
- ۵۱۰ – Not Extended
سرور برای پردازش درخواست نیاز به اطلاعات اضافی دارد که ارسال نشدهاند.
روش رفع:
- بررسی افزونهها یا ماژولهایی که درخواستهای سفارشی HTTP میفرستند.
- بهروزرسانی وبسرور یا فریمورک برای پشتیبانی از Extensionهای جدید.
- ۵۱۱ – Network Authentication Required
این ارور زمانی رخ میدهد که کاربر پیش از دسترسی به اینترنت یا شبکه باید احراز هویت شود. معمولاً در شبکههای سازمانی یا هتلها دیده میشود.
روش رفع:
- بررسی تنظیمات Proxy و احراز هویت شبکه.
- در صورت کنترل سرور، غیرفعال کردن محدودیت احراز هویت در سطح Gateway.
.3دلایل عمومی بروز ارورهای ۵xx
هرچند هر خطا مفهوم خاص خود را دارد، اما معمولاً علتهای زیر در بروز بیشتر آنها مشترک هستند:
- فشار بیش از حد بر منابع سرور (CPU، RAM یا دیسک).
- تنظیمات اشتباه در فایلهای پیکربندی وبسرور یا PHP
- تداخل افزونهها و ماژولها در CMSهایی مانند وردپرس یا جوملا.
- محدودیتهای اعمالشده در سطح هاست اشتراکی.
- خرابی در ارتباط با دیتابیس یا Timeout در اجرای کوئریها.
- فعال بودن بیشازحد فایروال یا ModSecurity که باعث مسدود شدن درخواستهای معتبر میشود.
.4روشهای رفع خطاهای 5xx در سرورها
- در هاست لینوکس : (cPanel / LiteSpeed / Apache)
- مشاهدهی فایلهای خطا از بخش Errors در cPanel
- بررسی error_log در مسیر public_html
- افزایش منابع PHP از بخش Select PHP Version > Options
در LiteSpeed، استفاده از Restart LiteSpeed در WHM برای ریست سرویس.
- در هاست ویندوز: (Plesk / IIS)
- مشاهدهی جزئیات خطا از مسیر Logs > HTTP Error Logs در Plesk
- اطمینان از فعال بودن FastCGI برای PHP.
- ریست IIS از طریق iisreset در PowerShell
- بررسی Application Pool مربوط به سایت و مقدار Memory Limit.
- در سرورهای مجازی یا اختصاصی :
- استفاده از دستورات :
journalctl -xe
یا
tail -f /var/log/syslog
- مانیتورینگ منابع با ابزارهایی مانند htop، glances یا PRTG
- بررسی وضعیت سرویسها
systemctl status nginx
یا
apache2
- در صورت نیاز، افزایش منابع از کنترلپنل مجازیساز یا تنظیم Swap.
.5 نکات پیشگیرانه برای جلوگیری از بروز خطاهای ۵xx
- استفاده از ابزارهای مانیتورینگ منابع مانند Zabbix
- تنظیم هشدار مصرف CPU و RAM در هاست.
- بهروزرسانی مداوم CMS، افزونهها و نسخهی PHP
- بررسی دورهای لاگها و پاکسازی فایلهای غیرضروری.
- استفاده از CDN برای کاهش فشار مستقیم روی سرور.
جمعبندی
ارورهای سری ۵xx را میتوان زبان هشداردهندهی سرور دانست؛ پیامی که میگوید زیرساخت در جایی دچار ناهماهنگی شده است. این خطاها هرچند ممکن است در ظاهر مشابه بهنظر برسند، اما هرکدام معنای خاصی دارند و با تحلیل دقیق لاگها و بررسی پیکربندی وبسرور، معمولاً در کوتاهترین زمان قابل رفعاند.
شناخت این ارورها، نهتنها به مدیران سرور کمک میکند تا از بروز قطعیهای ناگهانی جلوگیری کنند، بلکه به صاحبان وبسایتها اطمینان میدهد که عملکرد سرورشان در بالاترین سطح پایداری باقی بماند.

ارسال نظر