Loading...

مساعدة CDN.com.tr

اتصال الخادم الأصلي: عنوان IP الحقيقي للزائر، وتأمين خادمك الأصلي، وWebSocket، ومهلات الانتظار

تمرّر الخوادم الطرفية عنوان IP الخاص بالزائر عبر ترويسة X-CDN-Client-IP. افتح خادمك الأصلي لـ CDN فقط عبر ترويسة سرّية تضيفها إلى كل قاعدة. اضبط WebSocket والطلبات طويلة الأمد لكل قاعدة على حدة.

اتصال الخادم الأصلي: عنوان IP الحقيقي للزائر، وتأمين خادمك الأصلي، وWebSocket، ومهلات الانتظار

تمرّر الخوادم الطرفية عنوان IP الخاص بالزائر عبر ترويسة X-CDN-Client-IP. افتح خادمك الأصلي لـ CDN فقط عبر ترويسة سرّية تضيفها إلى كل قاعدة. اضبط WebSocket والطلبات طويلة الأمد لكل قاعدة على حدة.

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

يشغّل فريق تطبيق ويب يتضمن تسجيل دخول على خادمه الخاص، ويضع CDN وWAF أمامه. يريدون رؤية عنوان IP الحقيقي للزائر في سجلاتهم، ورفض الطلبات التي لا تمر عبر CDN، والحفاظ على عمل اتصالات WebSocket.

سير العمل

  1. اجعل تطبيقك يقرأ عنوان IP الحقيقي للزائر من ترويسة X-CDN-Client-IP.
  2. ولِّد قيمة عشوائية طويلة. اكتب السطر نفسه في حقل الرؤوس المرسلة إلى الخادم المصدر لكل قاعدة تسليم في حسابك، مثل X-CDN-Auth <القيمة>.
  3. بمجرد أن تصبح الترويسة فعّالة في جميع القواعد وتصير نطاقاتك مُشيرة إلى CDN، ارفض على خادمك الأصلي أي طلبات لا تحمل هذه الترويسة.
  4. بالنسبة للمسارات التي تستخدم WebSocket، أنشئ قاعدة منفصلة وفعّل السماح باتصالات WebSocket. وبالنسبة للطلبات طويلة الأمد، ارفع قيمة مهلة استجابة الخادم الأصلي (بالثواني).
  5. إذا كانت واجهة برمجة التطبيقات (API) لديك تستخدم PUT أو PATCH أو DELETE، أضف هذه الطرق إلى قائمة WAF: طرق HTTP المسموح بها.

الفحوصات

  • يصل عنوان IP الحقيقي للزائر في ترويسة X-CDN-Client-IP. تحمل قيمة واحدة فقط، ويعيد الخادم الطرفي كتابتها في كل طلب؛ أي ترويسة بالاسم نفسه يرسلها الزائر لا تُستخدَم. يمكن أن تكون القيمة أيضًا عنوان IPv6.
  • ترسل الخوادم الطرفية أيضًا X-Real-IP وX-Forwarded-For. إذا كنت تستخدم X-Forwarded-For، خذ القيمة الموجودة في أقصى اليمين وليس الأولى؛ فالزائر يستطيع كتابة القيم الموجودة على اليسار.
  • تُضبَط الرؤوس المرسلة إلى الخادم المصدر لكل قاعدة على حدة: ترويسة واحدة في كل سطر، بصيغة Header-Name value. عند إضافة قاعدة جديدة، أضف الترويسة السرّية إليها أيضًا؛ وإلا سيرفض خادمك الأصلي طلبات تلك القاعدة.
  • اجعل قيمة الترويسة السرّية قيمة عشوائية مكوَّنة من 32 حرفًا على الأقل، أحرف وأرقام فقط. في القواعد التي تتصل بخادمك الأصلي عبر HTTPS، تنتقل الترويسة مشفَّرة.
  • اعتمد على الترويسة السرّية بدلاً من تأمين خادمك الأصلي بقائمة IP وحدها. نخبرك بالعناوين الحالية للخوادم الطرفية المرتبطة بحسابك عند الطلب.
  • في قاعدة يكون فيها السماح باتصالات WebSocket مفعّلًا، تصل الاتصالات إلى خادمك الأصلي وتبقى مفتوحة ما دامت البيانات تتدفق؛ ولا تُخزَّن الاستجابات على هذا المسار مؤقتًا. لا يمكن تفعيل WebSocket في قاعدة تحسّن الصور، لذا أنشئ قاعدة منفصلة لمسار WebSocket.
  • مهلة استجابة الخادم الأصلي الافتراضية هي 60 ثانية: إذا لم يرسل خادمك الأصلي أي بيانات خلال 60 ثانية، ينتهي الطلب بخطأ 504 ويُغلَق اتصال WebSocket الخامل. يمكنك ضبطها لكل قاعدة بين 1 و3,600 ثانية. ما دامت البيانات تتدفق، لا يوجد حد لإجمالي مدة الاتصال.
  • في نطاق تطبيقات Managed Container الخاصة بك، يكون WebSocket مفعّلًا افتراضيًا والمهلة 300 ثانية ما لم تحدد القاعدة قيمة أخرى.
  • مع تفعيل WAF، يُسمح افتراضيًا بـ GET وHEAD وPOST وOPTIONS. تحقق JavaScript يُطبَّق فقط على طلبات الصفحات القادمة من المتصفحات، ولا يؤثر في طلبات API.

الأسئلة الشائعة

كيف أتحقق من الترويسة السرّية في Apache أو nginx؟

في Apache، أضف الأسطر RewriteEngine On وRewriteCond %{HTTP:X-CDN-Auth} !=<القيمة> وRewriteRule ^ - [F] في أعلى ملف .htaccess تمامًا. في nginx، أضف if ($http_x_cdn_auth != "<القيمة>") { return 403; } إلى كتلة server. فعّل التحقق في آخر خطوة: يجب أولاً أن تكون الترويسة فعّالة في جميع القواعد، وأن يُشير نطاقك إلى CDN.

هل WebSocket مدعوم؟

نعم. أنشئ قاعدة للمسار الذي يستخدم WebSocket وفعّل السماح باتصالات WebSocket. يصل الاتصال إلى خادمك الأصلي ويبقى مفتوحًا ما دامت البيانات تتدفق؛ ولا يُستخدَم أي تخزين مؤقت على هذا المسار.

إلى متى يمكن أن يبقى الطلب مفتوحًا؟

ما دامت البيانات تتدفق، لا يوجد حد للمدة الإجمالية. الحد هو مدة انتظار الخادم الطرفي دون أي تدفق للبيانات: 60 ثانية افتراضيًا. يمكنك رفعها حتى 3,600 ثانية في حقل مهلة استجابة الخادم الأصلي (بالثواني) الخاص بالقاعدة.

من أين أقرأ عنوان IP الحقيقي للزائر؟

من ترويسة X-CDN-Client-IP. يكتب الخادم الطرفي هذه الترويسة بنفسه في كل طلب، ولا يستخدم ترويسة بالاسم نفسه يرسلها الزائر. إذا كنت تستخدم X-Forwarded-For، خذ القيمة الموجودة في أقصى اليمين.

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

إدارة سجلات DNS

أضف السجلات المؤهلة وحدّثها واحذفها واستوردها وصدّرها وانقلها إلى DNS السحابي.

HTTP/3 وIPv6 على خوادم edge

منذ سبتمبر 2026 تخدم خوادم edge في CDN.com.tr كل اسم مضيف عبر HTTP/3 (QUIC) وIPv6 إضافةً إلى HTTP/2 وIPv4. تنتقل المتصفحات تلقائيًا؛ لا يوجد إعداد لكل حساب، ويمكن أن يبقى الخادم الأصلي على IPv4 فقط.