قابلیت Failover یکی از مهمترین ویژگیها برای افزایش پایداری (High Availability) سرویس شماست. با استفاده از این قابلیت، CDN میتواند به صورت خودکار سلامت سرور اصلی شما را بررسی کند و در صورتی که پاسخگو نباشد، ترافیک را به سمت یک سرور جایگزین (Backup) هدایت کند. این فرآیند از قطعی سرویس برای کاربران شما جلوگیری میکند.
این راهنما به شما نشان میدهد که چگونه این سیستم را به درستی پیکربندی کنید.
مفاهیم کلیدی
-
سرور Active: سرور یا سرورهای اصلی شما که در حالت عادی به درخواستها پاسخ میدهند.
-
سرور Passive: سرور جایگزین یا پشتیبان شما که تنها در زمان از دسترس خارج شدن تمام سرورهای Active، وارد مدار میشود.
مراحل پیکربندی گام به گام
گام اول: تعریف سرورها در بخش Upstream
۱. به بخش «سرورهای آپاستریم» در پنل CDN خود بروید. ۲. یک آپاستریم جدید بسازید یا آپاستریم موجود خود را ویرایش کنید. ۳. در بخش «لیست سرورهای توزیع بار»:
- آدرس IP سرور اصلی (Production) خود را به عنوان سرور Active وارد کنید.
- بر روی «اضافه کردن سرورهای passive» کلیک کرده و آدرس IP سرور جایگزین (Backup) خود را در این بخش وارد نمایید.
گام دوم: تنظیم دقیق Health Check (مهمترین بخش)
سیستم Failover کاملاً به تنظیمات سلامتسنجی (Health Check) وابسته است. اگر این بخش به درستی پیکربندی نشود، CDN هرگز متوجه بروز مشکل در سرور اصلی شما نخواهد شد.
۱. در همان صفحه تنظیمات آپاستریم، بخش «تنظیمات سلامتسنجی» را باز کنید.
۲. انتخاب پروتکل مناسب:
- TCP (پیشفرض): این حالت توصیه نمیشود. TCP فقط بررسی میکند که آیا پورت سرور شما باز است یا نه. ممکن است وبسرور شما از کار افتاده و خطای 503 برگرداند، اما چون پورت باز است، این بررسی به اشتباه اعلام میکند که سرور سالم است.
- HTTP یا HTTPS: این حالت به شدت توصیه میشود. CDN یک درخواست HTTP واقعی به سرور شما ارسال میکند و منتظر پاسخ موفق (مانند کد 200) میماند. اگر پاسخی غیر از موفقیت دریافت کند (مثلاً خطای سری 5xx)، سرور را ناسالم تشخیص داده و فرآیند Failover را آغاز میکند.
۳. تنظیم Host Header (نکته کلیدی):
- این مهمترین تنظیم در این بخش است که اغلب نادیده گرفته میشود.
- چرا این فیلد مهم است؟ وقتی CDN میخواهد سلامت سرور شما را بررسی کند، به آدرس IP آن متصل میشود. اگر سرور شما میزبان چندین سایت باشد (یا پشت یک لود بالانسر قرار داشته باشد)، باید بداند که این بررسی سلامت برای کدام دامنه است. هاست هدر این اطلاعات را فراهم میکند.
- مقدار صحیح: در این فیلد، زیردامنهای که این آپاستریم به آن سرویس میدهد را وارد کنید. برای مثال، بر اساس گفتگوی نمونه، باید
flower.mu-chat.irرا وارد کنید.
اخطار: اگر هاست هدر را تنظیم نکنید، ممکن است بررسی سلامت به دلیل خطای SSL/TLS (عدم تطابق نام دامنه با گواهی SSL) با شکست مواجه شود و CDN هرگز نتواند وضعیت واقعی سرور شما را تشخیص دهد.
گام سوم: ایجاد قانون مسیر (Location Rule)
اطمینان حاصل کنید که یک قانون مسیر برای دامنه یا زیردامنه مورد نظر شما وجود دارد که ترافیک را به سمت همین آپاستریم که پیکربندی کردهاید، هدایت میکند.
عیبیابی مشکلات رایج
سوال: Failover کار نمیکند و با وجود قطع بودن سرور اصلی، به سرور جایگزین نمیرود.
پاسخ: به احتمال زیاد شما از Health Check نوع TCP استفاده کردهاید. آن را به HTTP یا HTTPS تغییر دهید و حتماً هاست هدر (Host Header) صحیح را تنظیم کنید.
سوال: من همه چیز را درست تنظیم کردهام اما باز هم Failover انجام نمیشود.
پاسخ: دوباره هاست هدر را بررسی کنید. آیا دقیقاً با نام زیردامنهای که در قانون مسیر استفاده کردهاید، مطابقت دارد؟ همچنین از صحت IP و پورت سرورهای Active و Passive خود اطمینان حاصل کنید.
سوال: آیا تنظیمات من در بخش «مدیریت DNS» با آپاستریم تداخل دارد؟
پاسخ: خیر. فعال کردن ابر نارنجی در بخش DNS یک راه میانبر برای ساخت خودکار یک زوج «آپاستریم + قانون مسیر» ساده است. هر قانون مسیری که شما به صورت دستی بسازید، بر آن تنظیمات پیشفرض اولویت دارد. بنابراین تنظیمات دستی شما در بخش آپاستریمها همیشه اعمال خواهد شد.
سوال: برای مدت کوتاهی خطای HSTS یا SSL دریافت کردم.
پاسخ: خطاهای HSTS معمولاً سمت کلاینت (مرورگر) رخ میدهند و ممکن است به دلیل کش مرورگر یا تغییرات موقتی باشند. با این حال، مطمئن شوید که پروتکل Health Check شما (HTTP/HTTPS) با پروتکلی که سرور شما پشتیبانی میکند، مطابقت دارد.
با دنبال کردن دقیق این راهنما، به خصوص در بخش تنظیمات Health Check و Host Header، میتوانید یک سیستم Failover قابل اعتماد و کارآمد را برای افزایش پایداری سرویس خود پیادهسازی کنید.
