در این صفحه، پاسخ پرسشهای پرتکرار درباره شبکه توزیع محتوا ستون را پیدا میکنیم. اگر تازه با CDN ستون شروع میکنیم، از آموزشها شروع میکنیم.
مفاهیم پایه
CDN چه تفاوتی با میزبانی وب دارد؟
راهاندازی
چطور دامنه را بدون قطعی سرویس به CDN منتقل کنیم؟
اگر گزینهی همه درخواستهای HTTP بهطور خودکار به HTTPS هدایت شوند را فعال کردهایم و از مکانیزم گواهی خودکار ستون استفاده میکنیم، تا زمان صدور گواهی SSL/TLS کاربران به وبسایت دسترسی نخواهند داشت.
برای جلوگیری از این اختلال، ابتدا از گزینهی گواهی شخصی استفاده میکنیم. پس از انتقال موفق و اطمینان از دسترسی، از بخش گواهی SSL/TLS گواهی را به گواهی خودکار تغییر میدهیم.
فعالسازی TLS با گواهی شخصی را مطالعه میکنیم. برای مسیر کامل، اولین دامنه را پشت CDN ببرید را دنبال میکنیم.
چطور دامنه را با انتقال مدیریت DNS به ستون راهاندازی کنیم؟
اولین دامنه را پشت CDN ببرید را دنبال میکنیم.
آیا میتوانیم فقط یک زیردامنه را بدون انتقال DNS به CDN ببریم؟
اولین دامنه را بدون انتقال DNS پشت CDN ببرید را دنبال میکنیم.
چطور صحت اتصال دامنه به CDN را بررسی کنیم؟
اگر DNS را به ستون منتقل کردهایم، رکورد
NSبایدns.sotoon53.comو<حرف اول فضای کاری>.ns.sotoon53.comرا نشان دهد؛ حرف اول نام فضای کاری را در NS دوم جایگزین میکنیم. با ابر روشن، رکوردAباید Anycast ستون باشد، نه IP آپاستریم.پیش از تغییر DNS عمومی، درخواست را با
curl --resolveبه Anycast میفرستیم.مرجع لبه (Edge) را مطالعه میکنیم. بررسی اتصال دامنه از لینوکس و macOS را دنبال میکنیم.
DNS
وقتی وضعیت CDN روشن است، رکورد
Aچه مقداری برمیگرداند؟ابر خاموش مقدار رکورد را برمیگرداند. ابر روشن Anycast را برمیگرداند و آدرس سرور در پیکربندی آپاستریم نگهداری میشود.
بدون انتقال DNS، برای دامنه ریشه میتوانیم رکورد
Aرا روی Anycast بگذاریم.دکمه ابر (QuickCDN) و Anycast را مطالعه میکنیم.
آیا مقصد رکورد
CNAMEیاALIASمیتواند IP باشد؟خیر. مقصد
CNAMEوALIASیک نام دامنه است، نه IP.ALIASبرای دامنه ریشه مناسب است وCNAMEروی ریشه مجاز نیست.برای یک نام،
CNAMEرا باAیاAAAAهمزمان نمیگذاریم.DNS ستون را مطالعه میکنیم.
تغییرات DNS چه مدت طول میکشد تا منتشر شوند؟
زمان انتشار به TTL رکورد، کش Resolver و در صورت تغییر NS به وضعیت NS در رجیسترار بستگی دارد.
احراز مالکیت با TXT معمولا ۵ تا ۱۵ دقیقه طول میکشد. اگر سایت هنوز از سرویس قبلی پاسخ میدهد، از شبکه دیگر با
digوضعیت DNS را بررسی میکنیم.
در فیلد Name رکوردهای
TXTوSRVچه مقداری وارد کنیم؟فیلد Name فقط پیشوند را میگیرد و پنل دامنه اصلی را به آن اضافه میکند. دامنه کامل یا آدرس Canonical را در این فیلد وارد نمیکنیم.
برای ریشه از
@و برای زیردامنه از پیشوند آن استفاده میکنیم.اولین دامنه را بدون انتقال DNS پشت CDN ببرید را دنبال میکنیم.
آیا میتوانیم پاسخ DNS را برای کاربران داخل و خارج کشور متفاوت کنیم؟
تفکیک جغرافیایی پاسخ DNS در پنل نیست و با API تنظیم میشود. GeoDNS با دکمه ابر قابل استفاده نیست.
اگر درخواست دارای ECS باشد، کشور از آدرس موجود در ECS تشخیص داده میشود؛ در نبود ECS، IP فرستندهی درخواست (معمولا IP خروجی Resolver) مبنا است. برای ترافیک وب، قانون آپاستریم با شرط کشور سادهتر است.
پاسخ جغرافیایی DNS با GeoDNS، تنظیم GeoDNS و قوانین آپاستریم را مطالعه میکنیم.
آیا میتوانیم چند رکورد
Aبا یک نام داشته باشیم؟بله. چند مقدار
AیاAAAAبرای یک نام مجاز است و وزن، سهم هر مقدار را در پاسخ DNS تعیین میکند.این وزن با وزن سرورهای آپاستریم یکی نیست.
DNS ستون و مرجع آپاستریم را مطالعه میکنیم.
دکمه ابر (quickcdn)
دکمه ابر (quickcdn) چه کاری انجام میدهد؟
دکمه ابر پروکسی CDN را روی همان رکورد روشن یا خاموش میکند. با روشن شدن ابر، پاسخ DNS عمومی Anycast میشود و یک آپاستریم بههمراه قانون مسیر
/*ساخته میشود.روشن بودن ابر بهتنهایی محتوا را HIT نمیکند؛ رفتار کش در قانون مسیر تعیین میشود.
دکمه ابر (QuickCDN) را مطالعه میکنیم.
برای راهاندازی CDN، چه زمانی DNS را به ستون منتقل کنیم و چه زمانی منتقل نکنیم؟
با انتقال DNS، رکورد و ابر را در ستون مدیریت میکنیم. بدون انتقال DNS، مالکیت را با TXT تایید میکنیم و رکورد
CNAMEیاAرا به آدرس Canonical یا Anycast متصل میکنیم.در مسیر بدون انتقال DNS، وضعیت CDN در پنل DNS ستون کاربردی ندارد.
برای انتخاب مسیر مناسب، آموزشها را دنبال میکنیم.
quickcdn-atsignچیست؟با روشن کردن ابر روی
@، آپاستریمquickcdn-atsignساخته میشود و آدرس و وزن سرورها از رکورد DNS میآید.پورت را میتوانیم در فرم آپاستریم تغییر دهیم؛ سرور Passive را روی این آپاستریم اضافه نمیکنیم.
دکمه ابر (QuickCDN) و مرجع آپاستریم را مطالعه میکنیم. برای Failover، فعالسازی Failover با سرور Passive را دنبال میکنیم.
گواهی TLS
برای صدور خودکار گواهی TLS چه پیشنیازهایی داریم؟
اگر DNS دامنه در همان فضای کاری ستون باشد، گواهی وایلدکارد (Wildcard) با چالش DNS صادر میشود. در غیر این صورت چالش HTTP استفاده میشود و سایت باید از مسیر CDN در دسترس باشد.
گواهی
*.example.comفقط زیردامنههای یک سطح را پوشش میدهد.گواهی TLS را مطالعه میکنیم.
اگر DNS دامنه روی ستون نباشد، آیا گواهی وایلدکارد صادر میشود؟
خیر. اگر DNS دامنه خارج از ستون مدیریت شود، صدور گواهی عادی امکانپذیر است، اما گواهی فقط نامهای ثبتشده را پوشش میدهد. هر زیردامنه موردنیاز، از جمله زیردامنههای مقصد هدایت، را جداگانه به گواهی اضافه میکنیم. برای صدور خودکار گواهی وایلدکارد، DNS دامنه باید در همان فضای کاری ستون مدیریت شود.
فعالسازی TLS خودکار را مطالعه میکنیم.
صدور گواهی TLS چقدر طول میکشد و چه عواملی باعث شکست آن میشوند؟
صدور و انتشار گواهی فوری نیست؛ آماده شدن آن را از وضعیت گواهی بررسی میکنیم. با DNS ستون میتوانیم پیش از انتقال ترافیک گواهی بگیریم.
موانع رایج شامل CNAME روی
_acme-challenge، قرار داشتن DNS در فضای کاری دیگر و قطع دسترسی به Let’s Encrypt است.فعالسازی TLS خودکار و مرجع گواهی TLS را مطالعه میکنیم. برای دامنه
.ir، صدور گواهی TLS با acme.sh را دنبال میکنیم.
گواهی TLS خودکار چگونه تمدید میشود؟
گواهی خودکار را ستون تمدید میکند. برای گواهی شخصی، پیش از انقضا گواهی جدید را جایگزین میکنیم.
Secret جدید میسازیم و آن را در گواهی شما انتخاب میکنیم؛ حذف وبسایت لازم نیست.
فعالسازی TLS با گواهی شخصی را دنبال میکنیم.
آیا گواهی
*.example.comزیردامنههای چندسطحی را هم پوشش میدهد؟خیر.
*.example.comبرایwww.example.comمناسب است، اماapi.v2.example.comرا پوشش نمیدهد.در TLS خودکار، نام کامل را بدون ستاره وارد میکنیم؛ مثلا
v2.example.com. حداکثر تعداد نام اضافه در مرجع گواهی است.گواهی TLS را مطالعه میکنیم. برای تنظیم در پنل، فعالسازی TLS خودکار را دنبال میکنیم.
چرا هنگام بارگذاری گواهی شخصی خطا میگیریم؟
Fullchain باید ابتدا گواهی دامنه و سپس گواهیهای میانی را داشته باشد. کلید و گواهی باید جفت و در قالب PEM معتبر باشند.
کلید RSA را با گواهی ECDSA جفت نمیکنیم و برعکس. نام داخل گواهی باید با hostname وبسایت یکی باشد.
مرجع گواهی TLS را مطالعه میکنیم.
آیا میتوانیم HTTP را به HTTPS هدایت کنیم؟
بله. گزینه هدایت خودکار HTTP به HTTPS را روشن میکنیم. درخواست HTTP با
301میرود و پاسخ HTTPS هدر HSTS یکساله میگیرد.اگر پروتکل آپاستریم
HTTPباشد و آپاستریم خودش به HTTPS هدایت کند، حلقه ریدایرکت ساخته میشود.گواهی TLS را مطالعه میکنیم.
چرا TLS در اندروید قدیمی خطا میدهد؟
اعتماد به گواهی به ریشه و زنجیره آن، دستگاه و مرورگر وابسته است. برای نمونه، ISRG Root X1 در Android از نسخه ۷.۱.۱ به بعد بهصورت پیشفرض مورد اعتماد است؛ این حد برای همه ریشهها یکسان نیست. جزییات در سازگاری گواهی Let’s Encrypt آمده است.
برای این کلاینتها گواهی تجاری را در TLS شخصی میگذاریم. حداقل نسخه پیشفرض
TLSv1.2است.گواهی TLS را مطالعه میکنیم.
آپاستریم و مسیر
Failover چه زمانی سرور Passive را فعال میکند؟
سرور Passive وقتی هیچیک از سرورهای Active پاسخگو نباشند وارد مدار میشود.
سلامتسنجی پیشفرض TCP فقط باز بودن پورت را میبیند. برای Failover واقعی پروتکل را HTTP میگذاریم؛ هر پاسخ غیر
5xxاز جمله204و301سالم است. پروب حدود هر ۵ ثانیه انجام میشود.فعالسازی Failover با سرور Passive را دنبال میکنیم. گزینههای فرم را در مرجع آپاستریم مطالعه میکنیم.
پروتکل HTTP یا HTTPS در آپاستریم چه چیزی را مشخص میکند؟
پروتکل آپاستریم اتصال لبه تا آپاستریم را مشخص میکند و از پروتکل بازدیدکننده تا لبه مستقل است.
گواهی آپاستریم Verify نمیشود و گواهی Self-signed پذیرفته میشود.
پیکربندی سرور آپاستریم را دنبال میکنیم. گواهی TLS را مطالعه میکنیم.
چه مقدار Host به آپاستریم ارسال میشود؟
مقدار
Hostاز فرم آپاستریم میآید: دامنه سرور، مقدار صریح، یا همانHostکاربر.Host نادرست میتواند پاسخ هاست ناشناخته یا عدم تطابق گواهی بسازد. Host سلامتسنجی جداگانه تنظیم میشود.
مرجع آپاستریم را مطالعه میکنیم.
چطور آدرس یا پورت سرور آپاستریم را تغییر دهیم؟
آپاستریمهای دستی را در سرورهای آپاستریم ویرایش میکنیم. اگر نام آپاستریم شبیه
quickcdn-atsignباشد، آدرس از DNS میآید و فقط پورت را در فرم آپاستریم عوض میکنیم.دکمه ابر (QuickCDN) را مطالعه میکنیم.
وزن سرورهای آپاستریم چه اثری روی توزیع بار دارد؟
پیشفرض Round Robin وزندار است و وزن بیشتر سهم بیشتری از درخواستها را میدهد. وزن
0سرور را از توزیع خارج میکند و وقتی فقط یک سرور Active داریم اثر ندارد.Consistent hashing نیز در تنظیمات لود بالانسر قابل استفاده است.
مرجع آپاستریم را مطالعه میکنیم.
تفاوت قانون مسیر با قانون آپاستریم
قانون مسیر مسیر URL و رفتار لبه را مشخص میکند و اولین قانون منطبق اجرا میشود. بدون دستکم یک قانون مانند
/*، پاسخ404است.قانون آپاستریم فقط آپاستریم را بر اساس ویژگی درخواست عوض میکند و اگر چند قانون منطبق شوند، آخرین قانون غالب است.
قوانین مسیر و قوانین آپاستریم را مطالعه میکنیم. برای ساخت قانون مسیر، هدایت درخواستها به آپاستریم با قوانین مسیر را دنبال میکنیم.
کش و Purge
چه زمانی محتوا در CDN کش میشود؟
کش بهصورت پیشفرض غیرفعال است و روشن کردن دکمه ابر آن را فعال نمیکند. محتوا زمانی کش میشود که کش روی قانون مسیر منطبق فعال و پاسخ قابلکش باشد. نوعهای محتوای معرفیشده در مرجع انواع محتوای قابل کش قابلیت کش دارند؛ اگر از هدرهای آپاستریم پیروی کنیم، هدرهایی مانند
no-storeوprivateمانع ذخیرهسازی میشوند.نسخه بدون استفاده بر اساس inactivity حذف میشود؛ مقدار عمومی ۲۴ ساعت است، اما بعضی ناحیههای کش مقدار متفاوت دارند.
کش در CDN ستون و مرجع انواع محتوای قابل کش را مطالعه میکنیم. برای تنظیم در پنل، پیکربندی کش محتوا را دنبال میکنیم.
تفاوت Query String، Edge TTL و Browser TTL چیست؟
اگر در نظر گرفتن Query String فعال باشد، نسخههای جدا ساخته میشود. Edge TTL مدت اعتبار محتوا در لبه است و Browser TTL مدت اعتبار آن در مرورگر؛ نگهداری تا پایان این مدتها تضمین نمیشود.
حالت immutable برای فایلی مناسب است که با هر تغییر نام جدیدی میگیرد. Purge کش مرورگر را پاک نمیکند.
مرجع کش را مطالعه میکنیم.
چطور کش یک دامنه را پاک کنیم؟
از پنل کل کش یا مسیر مطلق و پیشوند را پاک میکنیم. الگوی Glob پشتیبانی نمیشود و Purge بهصورت غیرفعال عمل میکند.
سقف ارسال و سقف مسیر در راهنما و مفهوم Purge آمده است.
پاکسازی کش (Purge) را مطالعه میکنیم. برای پاکسازی در پنل، پاکسازی کش دامنه (Purge) را دنبال میکنیم.
هدر، CORS و بازنویسی
چرا درخواست CORS خطا میدهد؟
هدرهای CORS را روی همان قانون مسیر میگذاریم. وقتی CORS فعال باشد، Preflight با متد
OPTIONSاز لبه پاسخ204میگیرد و به آپاستریم نمیرود.
https://example.comوhttps://www.example.comدو Origin متفاوت هستند. اگر Allow Credential فعال باشد، مقدار Origin را*نمیگذاریم.CORS را مطالعه میکنیم. برای تنظیم در پنل، فعالسازی CORS روی قانون مسیر را دنبال میکنیم.
چگونه درخواست CDN را با لاگ اپلیکیشن مرتبط کنیم؟
هدر
X-Stn-Request-Idبه آپاستریم ارسال میشود و همان مقدار در فیلدrequest_idلاگ CDN قرار میگیرد.مرجع هدرهای HTTP اختصاصی ستون را مطالعه میکنیم.
چه IP و اطلاعات کشی در هدرهای درخواست و پاسخ قرار میگیرد؟
لبه IP و کشور و وضعیت کش را در هدرهای اختصاصی میگذارد. فهرست کامل و مقادیر
x-zrk-csدر مرجع هدر است.مرجع هدرهای HTTP اختصاصی ستون را مطالعه میکنیم.
تفاوت بازنویسی مسیر با ریدایرکت چیست؟
بازنویسی مسیر مسیر ارسالشده به آپاستریم را عوض میکند و URL مرورگر ثابت میماند. ریدایرکت پاسخ
301تا308به کلاینت میدهد و با عملیات Redirect در فایروال تنظیم میشود.مقصد ریدایرکت باید URL مطلق باشد. اگر شرط قانون مقصد را دوباره منطبق کند، حلقه ریدایرکت ساخته میشود.
بازنویسی مسیر (Rewrite) و مرجع دیواره آتش (Firewall) را مطالعه میکنیم. برای تنظیم بازنویسی، بازنویسی مسیر درخواست قبل از آپاستریم را دنبال میکنیم.
فایروال و امنیت
چرا قانون فایروال بعد از ذخیره شدن اعمال نمیشود؟
ابتدا بررسی میکنیم که فایروال وبسایت روشن باشد. قوانین از بالا به پایین میروند و اولین قانون فعال و منطبق اجرا میشود؛
Allowنیز ارزیابی را قطع میکند.شرطهای هر گروه با و و گروهها با یا ترکیب میشوند. در لاگ
fw_rule_nameوfw_rule_actionرا بررسی میکنیم.دیواره آتش (Firewall) و مرجع دیواره آتش (Firewall) را مطالعه میکنیم. برای ساخت قانون، اولین قانون دیواره آتش (Firewall) را بسازید را دنبال میکنیم.
محدودیت نرخ (Rate Limit)
Rate Limit تعداد درخواستهای یک شناسه را در یک بازه محدود میکند. بهصورت پیشفرض، عبور از سقف با پاسخ
429و عدم شناسایی شناسه با پاسخ412همراه است.مدت زمان جریمه کاربر مشخص میکند شناسه چه مدت محدود بماند. شمارنده روی هر لبه جداست.
محدودیت نرخ (Rate Limit) را مطالعه میکنیم. برای تنظیم در پنل، محدود کردن نرخ درخواستها (Rate Limit) را دنبال میکنیم.
IP Set چیست و چه زمانی از آن استفاده کنیم؟
IP Set یک فهرست نامدار از IPv4 و CIDR در سطح فضای کاری است و بهتنهایی Allow یا Block نمیکند.
برای محدود کردن ترافیک بر اساس کشور، از شرط کشور استفاده میکنیم، نه نگهداری دستی بازه IP کشورها.
IP Set را مطالعه میکنیم. برای استفاده در قانون، استفاده از IP Set در دیواره آتش (Firewall) را دنبال میکنیم.
کپچا در فایروال از چه نوعی پشتیبانی میکند؟
فقط Google reCAPTCHA v2 پشتیبانی میشود.
جابهجایی Site key و Secret Key باعث میشود چالش بارگذاری نشود.
مرجع دیواره آتش (Firewall) را مطالعه میکنیم.
آیا Block کردن کشور میتواند حملات را بهطور کامل متوقف کند؟
خیر. Block کردن کشور ترافیک لایه ۷ از آن کشور را محدود میکند؛ حمله از کشور مجاز یا دسترسی مستقیم به IP آپاستریم همچنان ممکن است.
حملات DDoS را مطالعه میکنیم. برای مراحل پنل، مقابله با افزایش غیرعادی ترافیک با فایروال و Whitelist خودکار IP لبههای CDN را دنبال میکنیم.
چگونه IPهای لبه CDN را در فایروال سرورهای آپاستریم مجاز کنیم؟
فهرست IP خروجی لبه با آدرس Anycast ورودی یکی نیست. این فهرست را از
https://edge.sotoon.ir/ip-list.txtدریافت میکنیم و در فایروال سرورهای آپاستریم مجاز میکنیم.مرجع لبه (Edge) را مطالعه میکنیم. برای بهروزرسانی خودکار، Whitelist خودکار IP لبههای CDN را دنبال میکنیم.
لینک امن (Secure Link)
Secret لینک امن چیست و چطور آن را بدون قطعی تعویض کنیم؟
حداکثر ۵ Secret داریم و طول هر Secret باید بین ۱۶ تا ۳۲ کاراکتر باشد.
برای تعویض بدون قطعی، ابتدا Secret جدید را اضافه میکنیم، سپس اپلیکیشن را به Secret جدید منتقل میکنیم و در پایان Secret قدیمی را حذف میکنیم.
مرجع لینک امن (Secure Link) را مطالعه میکنیم. برای فعالسازی روی مسیر، فعالسازی لینک امن (Secure Link) برای مسیر را دنبال میکنیم.
آیا میتوانیم لینک امن را به IP درخواستدهنده محدود کنیم؟
بله. با فعال کردن محدود به IP درخواستدهنده، توکن به IP همان درخواست وابسته میشود.
لینک امن (Secure Link) را مطالعه میکنیم.
SEO و خزنده
چرا بعد از فعال کردن CDN، ایندکس سایت دچار مشکل شده است؟
ابتدا بررسی میکنیم که
robots.txtو sitemap از آپاستریم قابل دریافت باشند و فایروال درخواست خزنده را Block نکند.پس از تغییر
robots.txtهمان مسیر را Purge میکنیم. اگر آپاستریم داخل ایران است، بهبود SEO را روی همان آپاستریم روشن میکنیم.مسیریابی هوشمند و رباتهای شناختهشده را مطالعه میکنیم. برای روشن کردن کلید، روشن کردن بهبود SEO روی آپاستریم را دنبال میکنیم.
چرا Googlebot از CDN پاسخ
403دریافت میکند؟ستون بهخودیخود Googlebot را با
403مسدود نمیکند. ابتدا بررسی میکنیم که قانون فایروال یا خود آپاستریم پاسخ403نداده باشد.تشخیص ربات با IP است، نه User-Agent. اگر قانون Block کشور داریم، شرط باتها (موتورهای جستوجو) را در قانون Allow بالاتر از Block کشور میگذاریم.
رباتهای شناختهشده و مرجع دیواره آتش (Firewall) را مطالعه میکنیم.
چگونه درخواست خزنده را به آپاستریم ایران و کاربران عادی را به آپاستریم دیگری هدایت کنیم؟
بهبود SEO را روی آپاستریم ایران روشن میکنیم. اگر قانون آپاستریم کاربران خارج را به آپاستریم دیگری میفرستد، قانون مربوط به خزنده را پایینتر میگذاریم تا آخرین قانون منطبق باشد.
برای این سناریو قانون مسیر دوم لازم نیست.
قوانین آپاستریم را مطالعه میکنیم. برای روشن کردن کلید، روشن کردن بهبود SEO روی آپاستریم را دنبال میکنیم.
تصویر و ویدیو
چطور سرویس عکس را روی یک مسیر فعال کنیم؟
روی قانون مسیر کارت ویرایش تصویر را روشن میکنیم. پردازش با پارامتر
x-imgانجام میشود؛ مثلا?x-img=v1/resize,h_100,w_100.فیلتر ثابت مقدار
x-imgدرخواست را نادیده میگیرد. سرویس عکس با کش بدون در نظر گرفتن Query String سازگار نیست.سرویس عکس (Pixel) و مرجع سرویس عکس (Pixel) را مطالعه میکنیم. برای مسیر کامل، اولین تصویر را با سرویس عکس تغییر دهید را دنبال میکنیم.
چرا ترنسکد ویدیو در وضعیت Preparing یا Transcoding باقی میماند؟
ابتدا دسترسی به باکت، مسیر فایل، قالب ورودی و سقف رزولوشن را بررسی میکنیم.
نام وضعیت در پنل و API فرق دارد. پاکسازی خودکار فقط رکورد فهرست را حذف میکند و فایل خروجی در استوریج باقی میماند.
سرویس ویدیو (VOD) و مرجع سرویس ویدیو (VOD) را مطالعه میکنیم. برای مسیر کامل، اولین ویدیو را با سرویس ویدیو ترنسکد کنید را دنبال میکنیم.
مانیتورینگ و لاگ
برای پیدا کردن علت خطای یک درخواست، کدام فیلدهای لاگ را بررسی کنیم؟
فیلدهای
request_id،cache_status،upstream_status،upstream_name،fw_blockedوfw_rule_nameرا بررسی میکنیم.مشاهده لحظهای لاگ درخواستها را دنبال میکنیم. فهرست کامل را در مرجع فیلدهای لاگ درخواست مطالعه میکنیم. برای دریافت لاگ در حجم بالا، لاگ درخواستهای دامنه را دریافت کنید را دنبال میکنیم.
متریکهای داشبورد CDN چه چیزی را نشان میدهند؟
Requestsنرخ درخواستهای ورودی به CDN است. بخش Connectivity خطای5xxآپاستریم را از خطاهای خود CDN جدا میکند.مرجع مانیتورینگ CDN را مطالعه میکنیم. برای پایش در پنل، دامنه پشت CDN را در پلتفرم مانیتورینگ پایش کنید را دنبال میکنیم.
عیبیابی
اگر DNS درست نیست، از کجا شروع کنیم؟
ابتدا رکورد
NSو سپسAیاCNAMEرا بررسی میکنیم.اگر از مسیر بدون انتقال DNS استفاده میکنیم، رکورد
TXTاحراز مالکیت را با مقادیر آموزش مقایسه میکنیم. اگر آدرس سرور آپاستریم خودش یک نام دامنه است، Resolve شدن آن از سمت ستون را نیز بررسی میکنیم.بررسی اتصال دامنه از لینوکس و macOS را دنبال میکنیم.
چرا با وجود تعریف آپاستریم، پاسخ
404دریافت میکنیم؟اگر قانون مسیر منطبقی نباشد، درخواست پاسخ
404میگیرد. حداقل یک قانون مانند/*را به آپاستریم متصل میکنیم.در لاگ،
upstream_nameو ترتیب قوانین مسیر را بررسی میکنیم.هدایت درخواستها به آپاستریم با قوانین مسیر را دنبال میکنیم.
چرا درخواست بین HTTP و HTTPS وارد حلقه ریدایرکت میشود؟
علتهای رایج اینها هستند: قانون Redirect فایروال همه hostnameهای همان CDN را پوشش میدهد؛ پروتکل آپاستریم
HTTPاست در حالی که آپاستریم درخواست HTTP را به HTTPS هدایت میکند؛ شرط قانون مقصد ریدایرکت را دوباره منطبق میکند.وضعیت آپاستریم را با هدر
x-zrk-usبررسی میکنیم.مرجع دیواره آتش (Firewall) و گواهی TLS را مطالعه میکنیم.
خطاهای
502،503و504در CDN چه تفاوتی دارند؟این خطاها زمانی رخ میدهند که لبه نتواند پاسخ سالمی از آپاستریم دریافت کند.
کد معنی رایج 502آپاستریم پاسخ معتبر نداده یا اتصال قطع شده است 503آپاستریم تحت فشار است یا سلامتسنجی آن را خارج کرده است 504آپاستریم در مهلت تعیینشده پاسخ نداده است برای بررسی، Connectivity داشبورد، هدر
x-zrk-usو فیلدupstream_statusدر لاگ را بررسی میکنیم.فایروال سرورهای آپاستریم نیز باید IPهای لبه را مجاز کند. برای این کار Whitelist خودکار IP لبههای CDN را دنبال میکنیم.
مهلت پاسخگویی آپاستریم چقدر است؟
مهلت پیشفرض خواندن پاسخ آپاستریم ۱۲۰ ثانیه است و عبور از آن با
504همراه میشود. حداکثر این مقدار در قانون مسیر ۶۰۰ ثانیه است.تایماوت سلامتسنجی جداگانه تنظیم میشود. اگر در لاگ وضعیتی نزدیک
499دیده شود، ممکن است کلاینت یا یک لایه میانی اتصال را بسته باشد.مرجع آپاستریم را مطالعه میکنیم.
چرا پاسخ
403دریافت میکنیم؟ابتدا مشخص میکنیم
403از کدام لایه آمده است: Block فایروال CDN، نامعتبر بودن لینک امن، یا پاسخ خود آپاستریم.فیلدهای
fw_blockedوfw_rule_nameدر لاگ به شناسایی Block فایروال کمک میکنند.مرجع دیواره آتش (Firewall) و لینک امن (Secure Link) را مطالعه میکنیم.
چرا پاسخهای سایت کند هستند؟
زمان پاسخ لبه و آپاستریم را از یکدیگر جدا میکنیم و وضعیت HIT کش را بررسی میکنیم.
HIT پایین یعنی بخش بیشتری از درخواستها به آپاستریم میرود، اما بهتنهایی علت کندی را مشخص نمیکند.
کش در CDN ستون را مطالعه میکنیم. برای بررسی دقیقتر، مشاهده لحظهای لاگ درخواستها را دنبال میکنیم.
برای عیبیابی اتصال دامنه از چه ابزاری استفاده کنیم؟
DNS، اتصال شبکه و HTTP را جداگانه روی همان کلاینت بررسی میکنیم.
دسترسی از خارج ایران
چرا سایت از داخل ایران باز میشود اما از خارج ایران باز نمیشود؟
یکی از علتها این است که آپاستریم داخل ایران از اینترنت بینالملل در دسترس نیست. در این حالت لبه خارج از ایران هم به آپاستریم نمیرسد.
تفکیک پاسخ DNS داخل و خارج با دکمه ابر انجام نمیشود.
قوانین آپاستریم را مطالعه میکنیم. برای تعریف قانون، مسیریابی ترافیک بینالملل با قوانین آپاستریم را دنبال میکنیم.
تفاوت بهبود دسترسیپذیری و بهبود SEO چیست؟
بهبود دسترسیپذیری در اختلال شبکه مسیر پایدارتر به همان آپاستریم میسازد. بهبود SEO مسیر سریعتر خزنده به آپاستریم داخل ایران است.
هر دو قابلیت هزینه جداگانه دارند. بهبود SEO را روی آپاستریم خارج از ایران روشن نمیکنیم.
مسیریابی هوشمند و مرجع آپاستریم را مطالعه میکنیم. برای روشن کردن کلید، روشن کردن بهبود SEO روی آپاستریم را دنبال میکنیم.
