Loading...

مساعدة CDN.com.tr

اكتب سلوك التخزين المؤقت عبر Add Rule

اضبط مفتاح التخزين المؤقت حسب النطاق/المسار، وTTL، والطرق/الحالات، والترويسات/ملفات تعريف الارتباط، والتحسين، وقواعد تحديد المعدل.

اكتب سلوك التخزين المؤقت عبر Add Rule

اضبط مفتاح التخزين المؤقت حسب النطاق/المسار، وTTL، والطرق/الحالات، والترويسات/ملفات تعريف الارتباط، والتحسين، وقواعد تحديد المعدل.

مسار اللوحة

  1. Management Panel
  2. CDN Accounts
  3. Advanced Management
  4. Add Rule
  5. Save / Apply Changes

ما الذي يحله Add Rule؟

تستخدم هذه الأمثلة سيناريوهات آمنة قائمة على أصل WordPress للملفات الثابتة وسلاسل الاستعلام والترويسات/ملفات تعريف الارتباط ومسارات الجلسات الحساسة.

تخزين مؤقت للأصول الثابتة

تخزين CSS/JS مؤقتاً بشكل قوي

سرّع الأصول باستخدام GET/HEAD، واستجابات 200/301/302/304، وTTL ليوم واحد أو أطول؛ وأزل معاملات تتبع الحملات من مفتاح التخزين المؤقت.

Pull / Push / Hosting Default أو CNAME أو Full DNS
جلسة WordPress

تجاوز صفحات الإدارة وتسجيل الدخول والسلة والدفع

تجاوز التخزين المؤقت عند وجود ملف تعريف ارتباط جلسة أو سلة؛ يجب ألا تدخل مسارات wp-admin وwp-login أبداً إلى التخزين المؤقت المشترك.

منصة WordPress Custom domain
نظافة الترويسات

نظّف ترويسات الأصل وصحّح بأمان

تجاهل Set-Cookie أو Cache-Control في قرارات التخزين المؤقت، وأخفِ X-Origin-Debug/X-Powered-By عن المستخدمين، وفعّل تصحيح المنبع مؤقتاً فقط.

Pull CDN كل طرق التسليم
نقطة نهاية مكلفة

حدّد المعدل واسمح بقائمة معاملات الاستعلام

للمسارات الشبيهة بـ API، ضمّن فقط معاملات الاستعلام التي تغيّر المحتوى في مفتاح التخزين المؤقت واضبط حداً للطلبات.

أصل ديناميكي Default أو CNAME أو Full DNS

المتطلبات المسبقة

  • يجب اختيار حساب واسم مضيف.
  • قد يؤدي حفظ Add Rule إلى إطلاق تدفق نشر/تطبيق مباشر؛ راجع المسار والنطاق وترتيب القواعد أولاً.
  • تستخدم لقطات الشاشة قيماً مثل `www.example.com` بدلاً من نطاقات العملاء الحقيقية.
  • للتطبيقات القائمة على الجلسات مثل WordPress، اكتب قواعد تجاوز الإدارة/تسجيل الدخول/السلة قبل التخزين المؤقت على نطاق واسع.

نموذج القرار

حدد النطاق أولاً

ضيّق نطاق القاعدة حسب النطاق والبروتوكول وتعبير المسار النمطي قبل تغيير السلوك؛ قواعد `/` الواسعة تحتاج مراجعة متأنية.

  • نطاق الخدمة: أي اسم مضيف متأثر؟
  • النوع: هل يلزم HTTP و/أو HTTP-2؟
  • Path Regex: ملف أو مجلد أو نقطة نهاية بالتحديد؟

نموذج استعلام مفتاح التخزين المؤقت

أبقِ معاملات الاستعلام في مفتاح التخزين المؤقت فقط عندما تغيّر المحتوى؛ معاملات التتبع تُزال عادةً.

  • الاستعلام الكامل: كل معامل ينشئ كائن تخزين مؤقت منفصلاً.
  • تجاهل الكل/المدرج: يدمج معاملات الحملات.
  • السماح بالمدرج: يبقي فقط معاملات مثل `lang` أو `v`.

تجاوز أم TTL؟

المحتوى المخصص والسلة وصفحات الإدارة يجب أن تتجاوز التخزين المؤقت؛ أما المحتوى الثابت والمجهول فيمكن أن يحصل على TTL.

  • Bypass Cache: مسارات الجلسة/الإدارة/السلة.
  • Cache Expire Time: المحتوى الثابت والمجهول.
  • Response TTL: مدد منفصلة لحالتي 404/500 وباقي الحالات.

سلوك الترويسة وملف تعريف الارتباط

تجاهل ترويسة الأصل في قرارات التخزين المؤقت يختلف عن إخفائها عن العميل.

  • Ignore Headers: أزل الترويسات من قرارات تخزين CDN المؤقت.
  • Hide Headers: لا تكشف ترويسات الاستجابة للمتصفح.
  • Bypass by Cookie: تخطَّ التخزين المؤقت عند وجود ملف تعريف الارتباط.

دليل خطوة بخطوة

1

افتح Add Rule من Advanced Management

تحدد الإعدادات المسبقة على مستوى الحساب السلوك العام؛ ويكتب Add Rule سلوكاً دقيقاً لنطاق/مسار.

  • اختر الحساب المستهدف من CDN Accounts.
  • افتح Advanced Management.
  • انقر Add Rule.

النتيجة المتوقعة: تُفتح نافذة القاعدة وتُجهَّز القاعدة الجديدة ضمن نطاق الحساب المحدد.

cdnctl equivalent
cdnctl accounts list
export ACCOUNT_UUID=<selected_account_uuid>
cdnctl cdn advanced-rules list --account "$ACCOUNT_UUID" --format table
2

ضيّق نطاق النطاق والبروتوكول وتعبير المسار النمطي

تحدد هذه الحقول أي الطلبات تطابقها القاعدة؛ وقد يغيّر تعبير نمطي واسع جداً الموقع بأكمله.

  • اختر اسم المضيف في Service Domain Name.
  • اختر HTTP و/أو HTTP-2.
  • أدخل نمط ملف أو مجلد أو نقطة نهاية في Path Regex.
  • اختر إعداداً مسبقاً للتخزين المؤقت إذا لزم.

النتيجة المتوقعة: تطابق القاعدة اسم المضيف والمسارات المستهدفة فقط.

cdnctl equivalent
cat > rule-static-assets.json <<EOF
{"server_domain_names":["www.example.com"],"type":["http","http2"],"path_regex":"^/cdn-help/rules/(cache-demo\\.css|query-demo\\.json)$"}
EOF
cdnctl cdn advanced-rules validate --account "$ACCOUNT_UUID" --file rule-static-assets.json
3

اضبط مفتاح التخزين المؤقت وTTL والطرق والحالات

للملفات الثابتة، أزل معاملات استعلام التتبع من مفتاح التخزين المؤقت وأبقِ الصيغ الحقيقية فقط.

  • اختر Ignore listed params أو Allow listed params في Cache Key Query Params.
  • أدخل Cache Expire Time.
  • حدّ من Allowed Cache Methods وAllowed Cache Responses.
  • أضف قيم TTL لكل حالة عند الحاجة.

النتيجة المتوقعة: تُخزَّن كائنات CSS/JSON المجهولة مؤقتاً دون تقسيم التخزين المؤقت بمعاملات استعلام غير ضرورية.

cdnctl equivalent
jq '. + {"cache_query_mode":"ignore_list","cache_query_params":["utm_*","gclid","fbclid","msclkid"],"cache_valid_time":"1 day","allowed_cache_methods":["GET","HEAD"],"allowed_cache_responses":["200","301","302","304"],"response_cache_times":{"200":"1 day","301":"1 week","302":"2 hours","304":"1 day"}}' rule-static-assets.json > rule-static-assets-cache.json
cdnctl cdn advanced-rules validate --account "$ACCOUNT_UUID" --file rule-static-assets-cache.json
4

أبقِ مسارات جلسة WordPress خارج التخزين المؤقت

يجب أن تحافظ مسارات الإدارة وتسجيل الدخول والسلة والدفع على سلوك الأصل بدلاً من إرجاع نتائج من التخزين المؤقت.

  • حدد نطاق Path Regex ليشمل مسارات `/wp-admin` أو `wp-login.php` أو `cart` أو `checkout`.
  • شغّل Bypass Cache.
  • أدخل ملفات تعريف ارتباط الجلسة/السلة سطراً بسطر في Bypass by Cookie.
  • أضف قواعد Request Limit أو منع الربط المباشر إذا لزم.

النتيجة المتوقعة: لا تُرجع طلبات الجلسة محتوى مخزَّناً مؤقتاً ومشتركاً إلى مستخدم آخر.

cdnctl equivalent
cat > rule-wordpress-sensitive.json <<EOF
{"server_domain_names":["www.example.com"],"type":["http","http2"],"path_regex":"^/(wp-admin|wp-login\\.php|cart|checkout)(/.*)?$","bypass":"on","bypass_by_cookie":"wordpress_logged_in\nwoocommerce_cart_hash\nwp_woocommerce_session_","limit":30,"per_time":10}
EOF
cdnctl cdn advanced-rules validate --account "$ACCOUNT_UUID" --file rule-wordpress-sensitive.json
5

اربط الترويسات وملفات تعريف الارتباط والتحسين والتصحيح

قرّر بشكل منفصل ما إذا كانت ترويسات الأصل تؤثر في قرارات التخزين المؤقت وما إذا كانت تُكشف للمتصفحات.

  • استخدم Ignore Headers للترويسات التي يجب ألا تؤثر في قرارات التخزين المؤقت.
  • استخدم Hide Headers للترويسات التي يجب ألا تُكشف للعملاء.
  • أضف Custom Headers للطلبات عند الحاجة.
  • فعّل Debug upstream headers أثناء الاختبار المؤقت فقط.
  • اختبر Image optimization وGoogle pagespeed على المسارات المحددة فقط.

النتيجة المتوقعة: تُتحكَّم ترويسات الأصل عمداً ولا يُترك التصحيح مفعّلاً في حركة مرور الإنتاج.

cdnctl equivalent
jq '. + {"ignore_headers":["Cache-Control","Set-Cookie"],"hide_headers":["X-Origin-Debug","X-Powered-By"],"custom_headers":"X-Forwarded-Host: $host\nX-CDN-Rule-Debug: temporary","debug_upstream_headers":true,"image_optimization":"on","white_space":"on"}' rule-static-assets-cache.json > rule-headers-debug.json
cdnctl cdn advanced-rules validate --account "$ACCOUNT_UUID" --file rule-headers-debug.json
6

احفظ وراقب النشر وتحقق من عنوان URL العام

بما أن الحفظ قد يطلق تدفق تطبيق مباشر، يكون الفحص النهائي قائماً على المسار/النطاق/TTL/الترويسة.

  • راجع الحقول المتغيرة وترتيب القواعد قبل الحفظ.
  • بعد الحفظ، راقب حالة Operations أو Apply Changes.
  • اختبر الحالة وترويسات التخزين المؤقت والترويسات المخفية وتجاوز ملف تعريف الارتباط على عنوان URL العام.

النتيجة المتوقعة: بعد نجاح العملية، تُظهر الطلبات المطابقة سلوك التخزين المؤقت/الترويسة/تحديد المعدل الجديد.

cdnctl equivalent
cdnctl cdn advanced-rules create --account "$ACCOUNT_UUID" --file rule-headers-debug.json
cdnctl operations list --account "$ACCOUNT_UUID"
curl -I "https://www.example.com/cdn-help/rules/cache-demo.css?utm_source=test"
curl -I -H "Cookie: wordpress_logged_in=redacted" "https://www.example.com/wp-admin/"

التحقق

  • تُراجع ترتيب القواعد والحقول المتغيرة.
  • تتطلب تعبيرات `/` النمطية الواسعة تأكيداً صريحاً.
  • تُطفأ Debug upstream headers بعد الاختبار.
  • بعد التطبيق، يتم التحقق من الرابط العام، ورمز الحالة، وسلوك استعلام cache-key، ونتيجة الرؤوس/الكوكيز باستخدام curl أو أدوات المطورين في المتصفح.
  • إذا لم تكن الإصدارة cdnctl 0.1.2 تعرض بعد أوامر القواعد المتقدمة، أرسل نفس الحمولة عبر مسار API العام `/api/advanced_managements/{account_uuid}/store`.

حالات الاستخدام

تتجاوز صفحات الإدارة/سلة التسوق في WordPress التخزين المؤقت بينما تُخزَّن الأصول الثابتة ومسارات JSON المجهولة عمداً.

سير عمل سريع

  1. افتح Advanced Management.
  2. حدد نطاق الطلب عبر Add Rule.
  3. املأ حقول التخزين المؤقت والترويسة/ملف تعريف الارتباط والأمان.
  4. بعد الحفظ، تحقق من العمليات وعنوان URL العام.

الفحوصات

  • ترتيب القواعد واضح.
  • تعبير المسار النمطي ليس أوسع من اللازم.
  • تُعطَّل ترويسات التصحيح بعد الاختبار.
  • الحقول المتغيرة مرئية قبل الحفظ.

الصفحات ذات الصلة

قراءة سجلات WAF

استخدم سجلات WAF لتفسير حركة المرور المحظورة أو المتحدَّاة دون كشف أنظمة السجلات الداخلية.