حدد ما الذي يجب أن توصله CDN
ابدأ بجرد المسارات. فصل الموارد ذات النسخ مثل الصور وملفات الأنماط والسكريبتات والخطوط والتنزيلات عن HTML وواجهات برمجة التطبيقات وصفحات الحساب والدفع والإدارة. عادةً تملأ CDN ذاكرة الكاش عند الطلب: يمكن أن يصل الطلب الأول إلى الأصل، بينما قد تُخدم الطلبات المطابقة لاحقًا من الحافة. وجود حافة قريبة وضربة كاش هما ميزتان مختلفتان.
سجل المضيف أو التطبيق أو دلو التخزين أو موازن التحميل الذي يزود كل مسار؛ يجب أن يجيب على حالة عدم العثور في الكاش (cache miss).
ابدأ بالموارد المتطابقة لكل زائر والتي يمكن إبقاؤها آمنة حتى تنتهي مدتها المعلنة.
لا تشارك لوحات القيادة المخصصة أو الصفحات المرتبطة بالجلسة أو بيانات العملاء ما لم يقم مهندس مؤهل بتصميم وفحص فصلها.
اضبط سياسة الكاش وفق سلوك المحتوى
رؤوس استجابة HTTP تعبّر عن سلوك الكاش. يحدد Cache-Control ما إذا كان يمكن تخزين الاستجابة وكم تبقى طازجة؛ زمن البقاء (TTL) هو فترة تلك الطزاجة. المتصفح هو كاش خاص، بينما تكون CDN عادةً كاشًا مشتركًا. استخدم رؤوسًا صريحة. يسمح معيار HTTP بـ s-maxage لتعيين عمر الكاش المشترك بشكل منفصل عن max-age.
انشر عنوان URL جديدًا عند تغير المحتوى، مثل اسم ملف مع هاش المحتوى، ثم امنح النسخة الثابتة عمرًا طويلًا موثقًا.
اختر عمرًا قصيرًا أو سلوك تحقق (validation) اعتمادًا على تكلفة عرض محتوى قديم؛ لا تعيد استخدام قاعدة مورد للمنتجات مثل الأسعار أو المخزون أو حالة الحساب.
استخدم private للاستجابات الموجهة لمستخدم واحد. وجود كوكيز بمفرده لا يجعل الاستجابة آمنة في كاش مشترك.
اجعل الإبطال استثناءً، لا خطة الإصدار
الإبطال، أو المسح (purge)، يطلب من CDN مدارة إسقاط كائنات مخزنة محددة قبل انتهاء صلاحيتها الطبيعية. استخدمه للتصحيحات، وليس مع كل نشر. أكد أن الأصل يعيد الاستبدال بالفعل قبل المسح؛ وإلا فإن إعادة الملء قد تحافظ على الاستجابة الخاطئة. كاش المتصفحات خارج سيطرة مسح CDN، لذا يظل ترقيم URL (versioning) موثوقًا للملفات المتغيرة.
فضل مسارًا محددًا أو مجموعة إصدار أو علامة كاش مدعومة من المزود على المسح الكامل للموقع؛ ففشل واسع يمكن أن يحمّل الأصل فجأة.
قد لا يصل المسح الموزع إلى كل حافة في آن واحد. افحص دلالات اكتمال المزود واختر URL ممثلًا للاختبار.
سجل URL القديم والجديد وقاعدة الكاش ونطاق المسح والنتيجة المتوقعة وخطوة التراجع.
ابقِ الأصل خلف طبقة التوصيل
يمكن أن يتجاوز الوصول المباشر إلى الأصل تخزين CDN وضوابط الحافة. قيده بحيث تصل إليه CDN فقط والمسارات المقصودة. وفقًا لتكديسك، استخدم تحكم وصول الأصل السحابي، قواعد جدار الحماية بنطاقات خروج CDN الموثقة، الشبكات الخاصة، طلبات الأصل الموقعة، أو mutual TLS (mTLS)، حيث يتحقق كلا الطرفين باستخدام شهادات.
من موقع اختبار مخول، أكد أن الأصل يرفض الطلبات العامة بينما يعمل اسم مضيف CDN.
حدد فحصات الصحة، أدوات النشر، والوصول الداخلي بالهوية والشبكة بدلاً من قاعدة عامة واسعة.
مصادقة الأصل تختلف باختلاف CDN والأصل. استخدم إرشادات الإعداد الحالية للمزود ومراجعة أمنية.
عامل TLS كاتصالين
HTTPS على الحافة يحمي الاتصال بين الزائر وCDN، لكن اتصال CDN بالأصل يحتاج حماية أيضًا. اطلب التشفير على كلتا الساقين، تحقق من شهادة الأصل لطريقة عمل CDN، وعيّن ملكية اسم المضيف وتجديده. توصي OWASP بـ TLS 1.3 افتراضيًا وتسمح بـ TLS 1.2 للتوافق؛ وتقول إنه يجب تعطيل TLS 1.0 و1.1. احصل على مراجعة مؤهلة للبيانات المنظمة، تدفقات الدفع، أو التوافقات غير الاعتيادية.
سرد مالكي شهادة الحافة والأصل، طرق التجديد، واستجابة الفشل.
اختبر تحويل HTTP إلى HTTPS، والهوست المعياري (canonical-host)، وإعادة التوجيه العميق للتأكد من عدم حدوث حلقات أو فقدان المسارات.
التشفير لا يجعل الاستجابة آمنة للتخزين المؤقت؛ اضبط قواعد الكاش منفصلة للصفحات المصادقة، الشخصية، والمتعلقة بالدفع.
اختبر مسار التوصيل الحقيقي قبل تغيير الحركة
ابدأ باسم مضيف استنادي staging أو مسار إنتاج ضيق، ثم اختبر اسم مضيف CDN، وليس الأصل فقط. يعرض Chrome DevTools Network حالة الطلب، النطاق، التوقيت، الحجم، والرؤوس. اختبر إعادة تحميل بقائمة فارغة approximating لزيارة أولى، ثم زيارة متكررة لفحص إعادة الاستخدام. قارن الرؤوس والمحتوى المتوقعين، لا تكتفِ بصفحة تبدو أسرع. كرر الاختبار من مناطق ممثلة عندما يكون الجمهور موزعًا.
افحص Cache-Control ورؤوس provider cache-status. أكد إعادة استخدام الأصول العامة وأن الصفحات الحساسة غير مشتركة بشكل غير متوقع.
نفّذ حالة عدم العثور في الكاش (miss)، تصحيح محتوى قديم، خطأ في الأصل، وتراجع عن أصل واحد أو مسار قبل إطلاق واسع.
احفظ عناوين URL المختبرة، لقطات رؤوس الاستجابة، نسخة قاعدة القاعدة، وأوقات ما قبل وبعد التغيير مع سجل التغيير.
اختر CDN حسب احتياجات التشغيل، ثم اثبته
لا تختَر CDN بناءً على عدد نقاط التواجد أو ادعاء سرعة عام فقط. يختلف الأداء حسب الجغرافيا والوقت وتوزيع الحركة والتوجيه ونسبة ضربات الكاش. قارِن المرشحين على مسارات وأصول ومناطق ممثلة. اسأل عما إذا كان كل مزود يدعم ضوابط الكاش المطلوبة، الإبطال المستهدف، تقييد الأصل، سير عمل الشهادات، السجلات، أدوار الوصول، الأسعار، الدعم، وعملية التغيير.
استخدم رؤوس كاش متطابقة، سلوك أصل متطابق، وصفحات مماثلة للمرشحين؛ سجل نتائج الزيارة الأولى والزيارة المتكررة منفصلة.
راجع تكاليف الطلب، النقل، المسح، التسجيل، والدعم، بالإضافة إلى طوفان أخطاء ضرب الكاش. تختلف الأسعار والضوابط حسب الخطة.
اشترط إمكانية تصدير الإعدادات، مبدأ أدنى امتياز، تراجع مختبر، وملكية واضحة قبل تغطية المسارات الحرجة.
