احتمالاً تاکنون برای شما پیش آمده که در حال گشتوگذار در اینترنت بودهاید و با Error 503 مواجه شده باشید. این خطای در دسترس نبودن سرویس 503 به این معنا بوده که سرور بهطور موقت قادر به رسیدگی به درخواست ما نیست. این ممکن است در اثر ورود بیشازحد کاربر که باعث فشار روی سرورها بوده یا ازکارافتادن آن به دلیل تعمیرات باشد. Error 503 مشابه Error 500 بوده با این تفاوت که در خطای 500 سرور بهطور کامل از کار افتاده است اما خطای 503 به شکلی موقتی بوده و سرورها هنوز در حال فعالیت هستند.
در واقع هر خطای که در مرورگر نمایش داده میشود یک کد وضعیت HTTP است. برای آشنایی با این خطاها میتوانید محتوای "انواع خطاهای رایج در یک سایت" را مطالعه کنید. مانند بسیاری از خطاهای http علت دقیق این خطا نیز مشخص نیست؛ زیرا دهها کد همزمان درحال فعالیت بودهاند تا بتوانند دادهها را منتقل کرده و یک صفحه را برای ما بارگذاری کنند، بنابراین تعیین وضعیت یک کد خاص کار چالش برانگیزی خواهد بود. در این مقاله قصد داریم تا به بررسی سرویس 503 پرداخته و راهحلهای بالقوه برای رفع این مشکل را پیدا کنیم.
خطای 503 به چه معناست؟
همانطور که در بالا هم ذکر کردیم، این خطا به معنای وجود مشکل در سرور است. بهطورکلی خطاهایی که با کد دستوری 5xx در HTTP نمایش داده شده، خطاهای سرور نامیده میشوند. بهعنوانمثال خطای 500 به معنای ازکارافتادن کامل سرور و خطای 502 به معنای ازکارافتادن یکی از سرورها در زنجیره اتصال است.( خطای 502 را در محتوای ارور 502 چیست؟ بیشتر بشناسید.) دلایل زیادی وجود دارد که باعث ایجاد Error 503 میشوند که برخی از آنها عبارتاند از: تعمیر و نگهداری سرور، ایجاد اشکال در کد سرور یا افزایش ناگهانی ترافیک که باعث ازکارافتادن سرور میشود. پیامی که با خطای 503 ارسال میشود، بسته به سرور ارسال کننده پیام میتواند یکی از موارد متداول زیر باشد:
- 503 Service Unavailable
- 503 Service Temporarily Unavailable
- HTTP Server Error 503
- HTTP Error 503
- Error 503 Service Unavailable
- The Server is unavailable to service your request due to maintenance downtime or capacity problems. Please Try again later.
دلیل خطای 503 هرچه که باشد معمولاً موقتی است و بعد از راهاندازی دوباره سرور، خودبهخود برطرف میشود. در ماه ژوئن 2021 که بهطور موقت سرورهای Fastly از کار افتادند، بسیاری از سایتها پیام ارور 503 را نمایش دادند. این شامل وبسایتهای PayPal، Shopify، Quora، Reddit، HBO Max و حتی سایت دولت انگلستان نیز شد. علاوه بر این بسیاری از خبرگزاریها ازجمله گاردین، بیبیسی و سی ان ان نیز دچار مشکل شدند.
چگونه خطای 503 را برطرف کنیم؟
برای برطرف کردن خطای 503 دو دیدگاه مختلف وجود دارد؛ یکی هنگامیکه شما مدیر یک وبسایت بوده و با این خطا روبرو شدهاید و دیگری زمانی که بهعنوان بازدیدکننده وارد یک سایت شده و با این خطا مواجه میشوید. روش حل خطای 503 بسته به اینکه در کدام گروه قرار دارید متفاوت است. بیایید نگاهی به مواردی بیندازیم که در صورت مشاهده خطای 503 میتوانید بهعنوان کاربر انجام دهید.
نحوه حل خطای 503 بهعنوان کاربر
هنگامیکه بهعنوان کاربر نهایی با Error 503 مواجه میشوید، از آنجاییکه کدهای وضعیت 5xx به این معنی بوده که خطا از جانب سرور بوده بنابراین کار زیادی از شما برنمیآید. بااینحال کارهایی بوده که میتوانید انجام دهید تا شاید این مشکل برطرف شود.
ریفرش کردن صفحه
گاهی اوقات این خطا بهقدری موقتی بوده که یک ریفرش کردن صفحه باعث برطرف شدن آن میشود. کد دستوری که میتوانید با استفاده از آن صفحه را ریفرش کنید در ویندوز و لینوکس Ctrl + R بوده و در مک با فشردن Cmd + R صفحه مقابل شما ریفرش خواهد شد.
چک کردن خطای 503 در دستگاههای دیگر
کاری که میتوانید انجام دهید این است که با جستجو در اینترنت متوجه شوید که آیا این سایت برای دیگران نیز همین خطا را نشان میدهد تا خیر. به این منظور میتوانید وارد سایت downforeveryoneorjustme یا isitdownrightnow شده و آدرس سایتی که خطای 503 را داشته وارد کنید. موتورهای جستجوی این سایتها به دنبال پاسخهای مشابه میگردند و اگر این مشکل بهصورت سراسری رخ داده باشد، به شما اطلاع خواهند داد. اگر صفحه را به سمت پایین اسکرول کنید نظرات مردم را نیز میتوانید بخوانید.
راهاندازی مجدد روتر
گاهی اوقات این مشکل به خرابی سرور DNS مربوط میشود. DNS مخفف واژه Domain Name System بوده و اساساً بهعنوان یک واسطه بین آدرسهای IP و URL های قابل مشاهده توسط انسان عمل میکند. بهعنوانمثال میتوانید با وارد کردن آدرس IP بهصورت طولانی مانند 172.217.25.206 و یا مراجعه به گوگل و وارد کردن URL در آن، این تست را انجام دهید. برای آشنایی بیشتر با سیستم نام دامنه مطالعه محتوای DNS چیست؟ میتواند مفید باشد.
همه این کارها به این معنا بوده که بسیاری از روترها، پاسخ را از سرورهای DNS در Cache ذخیره میکنند اما گاهی اوقات این Cache ممکن است خراب شده و باعث بروز خطا میشود. یک راه آسان برای بازنشانی یا پاک کردن Cache راهاندازی مجدد روتر است. برای این کار کافی است تا روتر خود را در حدود 5 ثانیه از برق کشیده و دوباره آن را وصل کنید. باید پس از یک دقیقه راهاندازی مجدد را انجام داده و دستگاهها بهطور خودکار متصل شوند. پس از انجام این کار دوباره سعی کنید تا وارد سایت شوید احتمالاً این مشکل برطرف شده باشد. اگر معنای روتر را نمیدانید و مدیریت آن را بلد نیستید محتوای روتر چیست و چگونه کار میکند؟ را بخوانید.
نحوه حل خطای 503 بهعنوان مدیر سایت
اگر شما مدیر یا توسعهدهنده سایت بوده و با خطای 503 برخورد کردهاید، برای شناسایی و رفع این مشکل میتوانید راههای مختلفی را طی کنید. در اینجا چند نکته کلی برای شروع کار شما وجود دارد:
راهاندازی مجدد سرور
حتی در یک صفحه استاتیک و ثابت نیز کدهای فراوانی وجود دارد؛ بنابراین پیدا کردن علت اصلی به وجود آمدن خطای 503 سخت است. به همین دلیل روش دقیقتر این بوده که اقدام به راهاندازی مجدد سرور کنید. روش انجام این راهاندازی نیز متفاوت بوده اما میتوانید از بخش داشبوردی که برای ادمین تعریف شده یا با SSH به سرور دسترسی پیدا کرده و از آنجا راهاندازی مجدد را انجام دهید. سرور بعد از چند دقیقه دوباره راهاندازی خواهد شد و شما میتوانید هنگامیکه بوت اجرا میشود از سایت دیدن کنید تا مطمئن شوید که همهچیز درست پیش برود. برای کار با SSH بهتر است در مورد آن اطلاعات بدست آورید و محتوای SSH چیست و چه کاربردی دارد؟ را مطالعه کنید.
بررسی لاگهای سرور
کار بعدی که بهعنوان مدیر سایت میتوانید انجام دهید این است که لاگها را بررسی کنید. مکان گزارشهای سرور بسته به سرویسی که از آن برای اجرا استفاده میکنید متفاوت است اما اغلب در مسیر /var/log/… یافت میشوند. اطراف دایرکتوری را نگاهی بیندازید و ببینید میتوانید چیزی پیدا کنید. اگرنه با اجرای دستور man program name راهنمای نرمافزارهای خود را بررسی کنید.
بررسی وجود سیستم تعمیر و نگهداری خودکار
برخی از ارائهدهندگان خدمات آپدیت و نگهداری، پکیجهای خودکار نیز ارائه میدهند. معمولاً این بسته خودکار گزینه خوبی است زیرا در زمان به وجود آمدن خطاهای مختلف به کمک شما آمده و بررسی میکند تا منشأ آن را پیدا کرده و برطرف کند. گاهی اوقات خطای 503 به دلیل آپدیتهای سرور است.
بهعنوانمثال برخی از میزبانهای هاست که روی وردپرس تخصص و فعالیت دارند، هر زمان که نسخه جدیدی ارائه میشود بهطور خودکار وردپرس را نیز آپدیت میکنند. وردپرس هر زمان بهروزرسانی میشود بهطور خودکار خطای 503 Service Unavailable را نمایش میدهد؛ بنابراین یکی از راههای برطرف کردن این خطا هنگامیکه بهعنوان مدیر یک سایت فعالیت میکنید این است که با شرکت ارائهدهنده سرور خود تماس بگیرید تا ببینید که منشأ خطای 503 از این موضوع بوده است.
بررسی تنظیمات فایروال سرور
گاهی اوقات خطاهای 503 ناشی از یک فایروال نادرست بوده که در آن کانکشنها میتوانند از طریق آن فایروال عبور کنند اما به کاربر باز نمیگردند. فایروال شما ممکن است به تنظیمات خاصی برای CDN نیاز داشته باشد، این اتفاق زمانی که اتصالات متعدد از تعداد انگشتشماری آدرس IP ممکن است بهاشتباه بهعنوان یک حمله DDoS تعبیر شوند. روش دقیق تنظیمات فایروال شما به عوامل زیادی بستگی دارد. به Pipeline و داشبوردهای ارائهدهنده این خدمات نگاهی انداخته تا ببینید کجا میتوانید فایروال را پیکربندی کنید.
بررسی کدها
در سیستمهای نرمافزاری باگها نیز مانند خطاها رایج هستند و با هر میزان تلاش نیز اجتناب از آنها ممکن نیست. گاهی ممکن است برخی از این باگها باعث ایجاد خطای 503 شوند. اگر همه راههای قبلی را تست کردهاید و سایت شما همچنان خطای 503 Service Unavailable را نشان میدهد، ممکن است علتآن جایی در بین خطهای کدنویسی باشد. کدهای هر دو سمت سرور را بررسی کرده و به هر چیزی که با عبارات منظم و مشخص نوشتهشده توجه بیشتری داشته باشید. یک باگ کوچک regex میتواند باعث افزایش استفاده از CPU شده و باعث شود سرورها به مدت سه روز از کار بیفتند. با بررسی راههای گفتهشده میتوانید مشکل اصلی را پیدا کرده و اقدام به برطرف کردن آن کنید.
سخن آخر
در سیستمهای نرمافزاری روزانه خطاها و باگهای مختلفی به وجود میآیند که باعث متوقف شدن عملکرد یک سایت میشوند. در این مقاله سعی کردیم درباره یکی از شایعترین خطاهای سرور یعنی Error 503 Service Unavailable صحبت کرده و دلایل به وجود آمدن آن را بررسی کنیم. امیدواریم دفعه بعد که سایت شما با خطای 503 مواجه شد بامطالعه این مقاله متوجه مشکل شده و آن را برطرف کنید.