CDN ایران چیست و چطور سرعت سایت را برای کاربر ایرانی بالا میبرد؟
CDN ایران محتوای سایت را از نودهای لبهی داخل کشور به کاربر میرساند. در این راهنما مسیر یک درخواست، تنظیم درست کش و SSL، مرز اثر CDN بر سرعت و هزینهی آن را با نرخ واقعی هر گیگابایت میبینید.

اگر مخاطب سایت شما ایرانی است، بخش زیادی از کندیای که کاربر حس میکند به خود سرور برنمیگردد. ریشهاش راهی است که هر درخواست تا رسیدن به سرور طی میکند. CDN ایران شبکهای از سرورهای لبه در داخل کشور است که فایلهای سایت را نزدیکتر به کاربر نگه میدارد و از همانجا تحویل میدهد. در این نوشته دنبال میکنیم که یک درخواست دقیقاً از کجاها میگذرد، کش چطور تصمیم میگیرد چه چیزی را از لبه بدهد، CDN کجا واقعاً سرعت را بالا میبرد و کجا اثری ندارد، و هزینهاش با نرخ واقعی چقدر میشود.
CDN ایران دقیقاً چه کاری انجام میدهد؟
شبکهی توزیع محتوا (Content Delivery Network) مجموعهای از سرورهاست که میان کاربر و سرور اصلی سایت قرار میگیرند. به سرور اصلی «مبدأ» میگویند. با فعال شدن CDN، مرورگر کاربر دیگر مستقیم سراغ مبدأ نمیرود و با نزدیکترین نود لبه ارتباط میگیرد. نود لبه سه کار اصلی انجام میدهد:
- پایان دادن اتصال امن: دستدهی TLS میان کاربر و لبه انجام میشود، نه میان کاربر و مبدأ.
- پاسخ از کش: اگر نسخهی معتبری از فایل درخواستی را در خود داشته باشد، بیآنکه سراغ مبدأ برود همان را تحویل میدهد.
- پالایش درخواستها: دیوار آتش وب، درخواستهای مشکوک را پیش از رسیدن به مبدأ کنار میگذارد.
واژهی «ایران» در این عبارت یعنی نودهای لبه داخل کشور قرار دارند. برای نمونه، در CDN ایران ابر ویرا نودهای لبه در تهران، مشهد و کرمانشاه مستقرند و کاربر از نزدیکترین آنها پاسخ میگیرد.
نود لبه و فاصلهی شبکهای
آنچه سرعت را تعیین میکند فاصلهی شبکهای است، نه فاصلهی جغرافیایی. منظور تعداد گرهها و مسیرهایی است که بستهها از آنها عبور میکنند. بارگذاری یک صفحه چندین رفتوبرگشت لازم دارد: پرسوجوی DNS، برقراری اتصال، دستدهی TLS و سپس دهها درخواست برای فایلهای CSS، جاوااسکریپت، تصویر و فونت. هر رفتوبرگشت هرچه کوتاهتر باشد، مجموع این تأخیرها کمتر میشود.
وقتی لبه در شبکهی داخلی و نزدیک به کاربر باشد، دستدهیها و تحویل فایلهای کششده در همین مسیر کوتاه انجام میشود. با این حال درخواستهایی که در کش نیستند همچنان باید به مبدأ برسند. به همین دلیل محل مبدأ هم اهمیت دارد و قرار دادن آن در دیتاسنتر داخل کشور، مسیر لبه تا مبدأ را هم کوتاه نگه میدارد.
مسیر یک درخواست، از مرورگر تا مبدأ
فرض کنید کاربری در مشهد نشانی سایت شما را باز میکند:
- DNS: مرورگر نام دامنه را پرسوجو میکند و پاسخ بهجای آیپی مبدأ، به لبهی CDN اشاره دارد.
- اتصال و TLS: اتصال امن با نزدیکترین نود لبه برقرار میشود و گواهی SSL همانجا ارائه میشود.
- دیوار آتش وب: درخواست با قوانین امنیتی سنجیده میشود.
- بررسی کش: لبه نگاه میکند که نسخهی معتبری از این نشانی دارد یا نه.
- رفتن به مبدأ (در صورت نیاز): اگر نسخهای نباشد یا اعتبارش تمام شده باشد، لبه فایل را از مبدأ میگیرد.
- ذخیره و پاسخ: اگر پاسخ قابل کش باشد، لبه آن را نگه میدارد و برای کاربر میفرستد. درخواست بعدی برای همین فایل از کش پاسخ میگیرد.
برخورد و خطای کش (HIT و MISS)
به حالتی که لبه فایل را از کش میدهد «برخورد» یا HIT میگویند و به حالتی که ناچار به مبدأ میرود «خطا» یا MISS. هر MISS یک گام بیشتر از دسترسی مستقیم دارد. پس نخستین درخواست پس از پاک کردن کش کمی کندتر است. سود اصلی CDN زمانی به دست میآید که بیشتر درخواستها HIT باشند.
کش: چه چیزی از لبه سرو شود و چه چیزی نه
تصمیم کش بیشتر به سرآیند Cache-Control که مبدأ میفرستد و به قوانین مسیری بستگی دارد که در CDN تعریف میکنید. این جدول تصمیم نقطهی شروع مناسبی است:
| نوع محتوا | کش در لبه؟ | تنظیم پیشنهادی |
|---|---|---|
| CSS و JS نسخهدار (مثل app.3f9a.js) | بله، طولانی | public, max-age=31536000, immutable |
| تصویر و فونت | بله | max-age طولانی؛ هنگام تغییر، نام فایل را عوض کنید |
| HTML عمومی (مقاله، صفحهی محصول) | با احتیاط | max-age کوتاه یا no-cache با اعتبارسنجی |
| صفحههای شخصی (سبد خرید، داشبورد، پرداخت) | خیر | private, no-store و قانون مسیر برای عبور مستقیم |
| API پویا | معمولاً خیر | قانون مسیر برای مسیرهایی مثل /api/ |
| وبسوکت و gRPC | کش نمیشود | عبور از لبه با پشتیبانی وبسوکت و gRPC |
برای دیدن آنچه مبدأ و لبه برمیگردانند، سرآیندهای پاسخ را بررسی کنید:
curl -I https://example.com/static/app.cssدر خروجی به Cache-Control نگاه کنید. اگر سرآیند Age هم وجود داشته باشد، نشان میدهد پاسخ چند ثانیه است که در کش مانده است.
CDN کجا سرعت را بالا میبرد و کجا نه
اثر شبکهی توزیع محتوا مشخص و قابل اندازهگیری است، اما همهی مشکلهای سرعت را حل نمیکند.
جاهایی که کمک میکند:
- تحویل فایلهای ایستا از نزدیک کاربر که معمولاً بیشترین حجم صفحه را میسازند.
- کوتاه شدن زمان دستدهی TLS، چون این کار روی لبه انجام میشود.
- کم شدن بار پردازشی و ترافیک خروجی مبدأ، چون درخواستهای HIT اصلاً به آن نمیرسند.
- کنار گذاشتن درخواستهای مخرب با دیوار آتش وب، پیش از آنکه منابع مبدأ را مصرف کنند.
جاهایی که کمکی نمیکند:
- صفحهی پویایی که کوئریهای کند پایگاهداده دارد. هر MISS همان زمان پردازش مبدأ را دارد.
- جاوااسکریپت سنگینی که اجرایش در مرورگر کاربر طول میکشد.
- تصویرهای بهینهنشدهی چند مگابایتی. CDN آنها را سریعتر میرساند، اما سبکترشان نمیکند.
برای سنجش واقعی، زمان اتصال و زمان رسیدن نخستین بایت را پیش و پس از فعالسازی اندازه بگیرید:
curl -o /dev/null -s -w "%{time_connect} %{time_starttransfer} %{time_total}\n" https://example.com/این فرمان را چند بار و از شبکههای مختلف اجرا کنید و میانگین بگیرید. یک بار اجرا نتیجهی قابل اتکایی نمیدهد.
SSL روی لبه: کدام حالت را انتخاب کنیم؟
گواهی SSL در CDN ابر ویرا رایگان است و سه حالت دارد:
- انعطافپذیر: مسیر کاربر تا لبه رمزنگاری میشود، اما مسیر لبه تا مبدأ بدون رمزنگاری است. این حالت فقط برای مدت کوتاه و تا زمانی مناسب است که مبدأ هنوز گواهی ندارد.
- کامل: هر دو مسیر رمزنگاری میشوند، اما اعتبار گواهی مبدأ سختگیرانه بررسی نمیشود.
- سختگیرانه: مبدأ باید گواهی معتبر داشته باشد. برای سایتی که اطلاعات ورود یا پرداخت دارد، این حالت انتخاب درست است.
راهاندازی، گامبهگام
- مبدأ را آماده کنید: سایت باید روی سروری با آیپی ثابت بالا باشد و مستقیم پاسخ بدهد. برای انتخاب اندازهی سرور، راهنمای انتخاب منابع سرور مجازی را ببینید.
- دامنه را اضافه کنید: در پنل CDN دامنه را ثبت کنید و رکوردهای DNS را طبق راهنمای پنل تنظیم کنید تا ترافیک از لبه عبور کند.
- حالت SSL را تعیین کنید: اگر مبدأ گواهی دارد، حالت سختگیرانه را انتخاب کنید.
- قوانین کش و مسیر را بنویسید: مسیرهای ایستا با کش طولانی، و مسیرهایی مثل /admin/ و /api/ و صفحهی پرداخت بدون کش.
- دیوار آتش وب را روشن کنید: ابتدا قوانین را با سختگیری کم فعال کنید و گزارشها را ببینید تا کاربر واقعی مسدود نشود.
- پایش سلامت مبدأ را فعال کنید: تا اگر مبدأ از دسترس خارج شد، زود متوجه شوید.
- درگاههای جایگزین را در صورت نیاز تنظیم کنید: اگر سرویسی روی درگاهی غیر از درگاههای معمول وب دارید.
- آزمایش کنید: با دو فرمان curl بالا، سرآیندها و زمان پاسخ را بسنجید و صفحههای ورود و پرداخت را دستی امتحان کنید.
هزینهی CDN ایران با نرخ واقعی
نرخها به تاریخ مهر ۱۴۰۵ است و بهای روز را ماشینحساب صفحهی سفارش نشان میدهد. هزینهی CDN فقط بر پایهی حجم دانلود از لبه حساب میشود: هر گیگابایت ۱٬۲۰۰ تومان. آپلود رایگان است.
| حجم دانلود ماهانه از لبه | محاسبه | هزینه |
|---|---|---|
| ۵۰ گیگابایت | ۵۰ گیگابایت × ۱٬۲۰۰ تومان | ۶۰٬۰۰۰ تومان |
| ۳۰۰ گیگابایت | ۳۰۰ گیگابایت × ۱٬۲۰۰ تومان | ۳۶۰٬۰۰۰ تومان |
| ۱٬۰۰۰ گیگابایت | ۱٬۰۰۰ گیگابایت × ۱٬۲۰۰ تومان | ۱٬۲۰۰٬۰۰۰ تومان |
مثال: فروشگاه کوچک با مبدأ ساعتی
فرض کنید مبدأ یک سرور ابری ساعتی با طرح «اقتصادی ۲» است: ۲ هستهی پردازنده، ۲ گیگابایت رم و ۱۵ گیگابایت دیسک، با بهای ساعتی ۱٬۶۴۴ تومان.
- برای یک روز آزمایش پیش از انتقال دامنه: ۲۴ ساعت × ۱٬۶۴۴ تومان = ۳۹٬۴۵۶ تومان
- برای یک ماه کامل: ۷۳۰ ساعت × ۱٬۶۴۴ تومان = ۱٬۲۰۰٬۱۲۰ تومان
- برای CDN، با فرض ۳۰۰ گیگابایت دانلود از لبه در ماه: ۳۰۰ گیگابایت × ۱٬۲۰۰ تومان = ۳۶۰٬۰۰۰ تومان
جمع این دو برای یک ماه میشود ۱٬۵۶۰٬۱۲۰ تومان. ترافیک دانلود خود سرور ساعتی جداگانه و با نرخ ۱٬۰۰۰ تومان برای هر گیگابایت حساب میشود و آپلودش رایگان است. درخواستهایی که از کش لبه پاسخ میگیرند از مبدأ ترافیکی نمیگیرند، پس هرچه سهم HIT بیشتر باشد ترافیک خروجی مبدأ کمتر است. برای برآورد دقیق، ترافیک مبدأ را جداگانه در صورتحساب سرور دنبال کنید. جزئیات کسر ساعتی و مقایسه با پرداخت ماهانه در راهنمای خرید سرور ساعتی ایران آمده است.
اشتباههای رایج
- کش شدن صفحههای شخصی. اگر صفحهی سبد خرید یا داشبورد کش شود، ممکن است اطلاعات یک کاربر به کاربر دیگری نشان داده شود. راه پرهیز: برای این مسیرها سرآیند
private, no-storeبفرستید و در CDN قانون مسیر بگذارید تا بدون کش به مبدأ برسند. - حالت انعطافپذیر همراه با ریدایرکت اجباری HTTPS در مبدأ. لبه درخواست را با HTTP به مبدأ میفرستد، مبدأ آن را به HTTPS برمیگرداند و صفحه در حلقهی بیپایان ریدایرکت گیر میکند. راه پرهیز: روی مبدأ گواهی نصب کنید و به حالت کامل یا سختگیرانه بروید.
- پاک کردن کل کش با هر تغییر کوچک. نام فایلها ثابت است، پس با هر بهروزرسانی کل کش پاک میشود و موجی از MISS ناگهان به مبدأ فشار میآورد. راه پرهیز: به نام فایلهای ایستا هش یا شمارهی نسخه اضافه کنید تا نسخهی تازه خودبهخود نشانی تازه داشته باشد و نیازی به پاک کردن کل کش نباشد.
پرسشهای متداول
آیا وبسوکت و gRPC از پشت CDN کار میکنند؟
بله. CDN ابر ویرا از وبسوکت و gRPC پشتیبانی میکند. این ارتباطها کش نمیشوند، اما از لبه عبور میکنند و از SSL و دیوار آتش وب بهره میبرند.
برای سایتی که فقط کاربر ایرانی دارد، CDN لازم است؟
اگر صفحهها فایل ایستای زیادی دارند یا کاربرانتان در شهرهای مختلف پراکندهاند، CDN ایران تحویل این فایلها را نزدیکتر میکند و بار مبدأ را کم میکند. برای سایت بسیار کوچک با بازدید کم، اثرش محدودتر است.
اگر سرور مبدأ از دسترس خارج شود چه میشود؟
پایش سلامت مبدأ وضعیت سرور را زیر نظر میگیرد تا قطعی را زود ببینید. درخواستهایی که پاسخشان در کش نیست تا بازگشت مبدأ پاسخ نمیگیرند.
آیا سایتی که روی درگاه غیرمعمول اجرا میشود را میتوان پشت CDN برد؟
بله. امکان درگاههای جایگزین برای همین وضعیت در نظر گرفته شده است. پیش از انتقال، درگاه موردنظر را در تنظیمات بررسی کنید.
جمعبندی
شبکهی توزیع محتوا با نودهای لبهی داخل کشور، رفتوبرگشتها را کوتاه میکند، فایلهای ایستا را از کش تحویل میدهد و بار مبدأ را سبک میکند. اما کندی کد و پایگاهداده را باید جداگانه حل کرد. با تنظیم درست کش، حالت سختگیرانهی SSL و قوانین مسیر برای صفحههای پویا، بیشترین بهره را میگیرید. اگر میخواهید اثرش را روی سایت خودتان بسنجید، میتوانید دامنه را در ابر ویرا به CDN بسپارید و با پرداخت بهازای مصرف دانلود، نتیجه را پیش و پس از فعالسازی مقایسه کنید.



