استخدام إشارة اسم الخادم (SNI) مع Edge

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

تسمح إشارة اسم الخادم (SNI) بعرض أهداف HTTPS متعددة من عنوان IP والمنفذ نفسيهما بدون طلب استخدام شهادة TLS نفسها لتلك الأهداف. عند تفعيل إشارة اسم الخادم (SNI) على أحد البرامج، يمرِّر العميل اسم المضيف لنقطة النهاية المستهدَفة كجزء من تأكيد الاتصال الأولي عبر بروتوكول أمان طبقة النقل (TLS). يسمح هذا الإجراء لخادم بروتوكول أمان طبقة النقل (TLS) بتحديد شهادة بروتوكول أمان طبقة النقل (TLS) التي يجب استخدامها للتحقّق من صحة الطلب.

على سبيل المثال، إذا كان هدف الطلب هو https://example.com/request/path، سيضيف برنامج بروتوكول أمان طبقة النقل (TLS) الإضافة server_name إلى طلب تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS)، كما هو موضّح أدناه:

يتوافق متصفّح Edge مع إشارة اسم الخادم (SNI) في ما يلي:

  • الطلبات من تطبيق عميل إلى خادم وكيل لواجهة برمجة التطبيقات. في هذا السيناريو، يعمل متصفّح Edge كخادم بروتوكول أمان طبقة النقل (TLS).
  • الطلبات من Edge إلى الخلفية. في هذا السيناريو، يعمل Edge كعميل TLS.

للحصول على معلومات إضافية عن إشارة اسم الخادم (SNI)، يُرجى الاطِّلاع على:

دعم إشارة اسم الخادم (SNI) لطلب خادم وكيل واجهة برمجة التطبيقات على شبكة Edge

يتم التحكّم في دعم إشارة اسم الخادم (SNI) لطلبات الخوادم الوكيلة لواجهة برمجة التطبيقات من خلال الأسماء المستعارة للمضيفين والمضيفين الافتراضيين.

لمحة عن المضيفين الافتراضيين والأسماء المستعارة للمضيفات

في Edge، يحدد المضيف الافتراضي عنوان IP والمنفذ، أو اسم نظام أسماء النطاقات ومنفذه، الذي يظهر عليه الخادم الوكيل لواجهة برمجة التطبيقات، وبالتالي، عنوان URL الذي تستخدمه التطبيقات للوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات. يتوافق عنوان IP/اسم نظام أسماء النطاقات مع جهاز توجيه Edge، ورقم المنفذ هو منفذ مفتوح على جهاز التوجيه.

عند إنشاء المضيف الظاهري، يمكنك أيضًا تحديد الاسم المستعار للمضيف للمضيف الظاهري. عادةً ما يكون هذا هو اسم نظام أسماء النطاقات للمضيف الظاهري. وفي إطار تحديد الخادم الوكيل لواجهة برمجة التطبيقات الذي يعالج الطلب، يقارن جهاز التوجيه عنوان Host للطلب الوارد بقائمة الأسماء المستعارة المتاحة للمضيفات التي تحدّدها جميع المضيفين الافتراضيين.

يجب أن يكون الجمع بين الاسم المستعار للمضيف ورقم المنفذ للمضيف الظاهري فريدًا لجميع المضيفين الافتراضيين في عملية تثبيت Edge. وهذا يعني أنه يمكن للمضيفين الافتراضيين المتعددين استخدام رقم المنفذ نفسه إذا كان لديهم أسماء مستعارة مختلفة للمضيف.

ويحدّد المضيف الافتراضي أيضًا ما إذا كان يمكن الوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات باستخدام بروتوكول HTTP أو بروتوكول HTTPS المشفّر باستخدام بروتوكول أمان طبقة النقل. عند إعداد مضيف افتراضي لاستخدام HTTPS، اربط المضيف الافتراضي بملف تخزين المفاتيح الذي يحتوي على الشهادة والمفتاح الخاص اللذين يستخدمهما المضيف الافتراضي أثناء عملية تأكيد الاتصال عبر بروتوكول أمان طبقة النقل (TLS).

للحصول على معلومات إضافية حول المضيفات الافتراضية، راجع:

آلية عمل إشارة اسم الخادم (SNI) مع الأسماء المستعارة للمضيفات

تسمح لك إشارة SNI بتحديد عدة مضيفات افتراضية في المنفذ نفسه، لكل منها شهادات ومفاتيح مختلفة لبروتوكول TLS. بعد ذلك، يحدِّد Edge المضيف الافتراضي وزوج الشهادة/المفتاح المُستخدَم من خلال بروتوكول أمان طبقة النقل (TLS)، استنادًا إلى إضافة server_name في طلب تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS).

يقرأ جهاز توجيه Edge إضافة server_name في طلب تأكيد اتصال بروتوكول أمان طبقة النقل (TLS)، ثم يستخدمه للبحث في الأسماء المستعارة للمضيف من جميع المضيفين الافتراضيين. إذا اكتشف جهاز التوجيه تطابقًا مع اسم مستعار للمضيف، يستخدم جهاز التوجيه شهادة بروتوكول أمان طبقة النقل (TLS) ومفتاحها من المضيف الافتراضي المرتبط بالاسم المستعار للمضيف. وفي حال عدم العثور على أي مطابقة، سيتعذّر إجراء الاتصال عبر بروتوكول أمان طبقة النقل (TLS).

بدلاً من تعذُّر تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS)، يمكنك تحديد زوج شهادة/مفتاح تلقائي، كما هو موضّح في الأقسام التالية.

تحديد زوج شهادة/مفتاح تلقائي في Edge للسحابة الإلكترونية

توفِّر Apigee شهادة بروتوكول أمان طبقة النقل (TLS) ومفتاحًا خاصًا لدعم HTTPS. يفضّل العديد من العملاء استخدام شهادتهم الخاصة ومفتاحهم الخاص أثناء النشر، ولكن يمكنك نشر واجهات برمجة التطبيقات باستخدام شهادة ومفتاح Apigee.

في شبكة Edge الخاصة بالسحابة الإلكترونية، إذا لم يتمكن جهاز التوجيه من مطابقة عنوان إشارة اسم الخادم (SNI) مع اسم مستعار للمضيف أو إذا كان العميل لا يتيح استخدام إشارة اسم الخادم (SNI)، سيستخدم جهاز التوجيه الشهادة التلقائية التي تقدّمها Apigee، وهي شهادة *.apigee.net.

تحديد زوج شهادة/مفتاح تلقائي في Edge الخاص بالسحابة الإلكترونية الخاصة

في شبكة Edge الخاصة بالسحابة الإلكترونية الخاصة، إذا لم يتم العثور على أي تطابق بين الإضافة server_name والعناوين البديلة للمضيف من جميع المضيفين الافتراضيين، أو إذا كان البرنامج مقدّم الطلب لا يوفّر إشارة اسم الخادم (SNI)، يمكنك ضبط جهاز التوجيه لاستخدام الشهادة/المفتاح من مضيف افتراضي تلقائي على المنفذ. يتم تحديد المضيف الافتراضي الافتراضي من خلال تركيبة من اسم المؤسسة واسم البيئة واسم المضيف الافتراضي على النحو التالي:

orgName_envName_vhName

يستخدم جهاز التوجيه الشهادة/المفتاح من مجموعة orgName_envName_vhName الذي يأتي أولاً بترتيب أبجدي. على سبيل المثال، يأتي الطلب في المنفذ 443 وهناك مضيفان افتراضيان تم تحديدهما للمؤسسة example في البيئة prod:

  • اسم المضيف الظاهري = default
  • اسم المضيف الظاهري = test

في هذا المثال، يستخدم جهاز التوجيه الشهادة/المفتاح من المضيف الافتراضي المسمى default لأنّ example_prod_default تأتي أبجديًا قبل example_prod_test.

لتمكين المضيف الافتراضي الافتراضي:

  1. في أول عقدة جهاز توجيه، عدِّل /opt/apigee/customer/application/router.properties. إذا لم يكن الملف موجودًا، فأنشئه.
  2. أضِف السمة التالية إلى الملف لتتمكن من تحديد مضيف افتراضي تلقائي:
    conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
  3. عليك إعادة تشغيل جهاز التوجيه:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. كرر هذه الخطوات على كل أجهزة التوجيه المتبقية.

بدلاً من استخدام الشهادة/المفتاح من المضيف الافتراضي الافتراضي، يمكنك تحديد الشهادة/المفتاح الافتراضيين على جهاز التوجيه بشكل صريح. اتّبِع الإجراء التالي لتحديد زوج شهادة/مفتاح تلقائي صريح:

  1. في عقدة جهاز التوجيه الأولى، انسخ الشهادة والمفتاح الخاص إلى موقع على عقدة جهاز التوجيه يمكن الوصول إليه من خلال مستخدم واجهة برمجة التطبيقات. مثلاً: /opt/apigee/customer/application
  2. غيِّر ملكية الملفات إلى 'apigee. user':
    chown apigee:apigee /opt/apigee/customer/application/myCert.pem
    chown apigee:apigee /opt/apigee/customer/application/myKey.pem
  3. تعديل /opt/apigee/customer/application/router.properties. إذا لم يكن الملف موجودًا، فأنشئه.
  4. أضِف السمات التالية إلى الملف لتتمكّن من تحديد الشهادة أو المفتاح التلقائي:
    conf_load_balancing_load.balancing.driver.nginx.fallback.server.default.ssl.template.enabled=true
    conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
  5. اضبط السمات التالية في router.properties لتحديد موقع الشهادة والمفتاح:
    conf_load_balancing_load.balancing.driver.nginx.ssl.cert=/opt/apigee/customer/application/myCert.pem
    conf_load_balancing_load.balancing.driver.nginx.ssl.key=/opt/apigee/customer/application/myKey.pem
  6. أعِد تشغيل جهاز التوجيه:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  7. كرر هذه الخطوات على كل أجهزة التوجيه المتبقية.

دعم إشارة اسم الخادم (SNI) للطلبات من Edge إلى الخلفية

يتيح Edge استخدام إشارة اسم الخادم (SNI) من معالِجات الرسائل لاستهداف نقاط النهاية في Apigee Edge على السحابة الإلكترونية وعمليات نشر Private Cloud. يتم تلقائيًا تفعيل إشارة SNI على معالِجات رسائل Edge للسحابة الإلكترونية وإيقافها في Private Cloud.

استخدام إشارة SNI إلى الخلفية في Edge لـ Private Cloud

بالنسبة إلى متصفّح Edge الخاص بخدمة Private Cloud، ليكون متوافقًا مع الأنظمة القديمة مع الخلفيات الهدف الحالية، أوقفت Apigee إشارة SNI تلقائيًا. إذا تم إعداد الواجهة الخلفية المستهدفة للتوافق مع إشارة اسم الخادم (SNI)، يمكنك تفعيل هذه الميزة كما هو موضح أدناه لإصدار Edge الذي تستخدمه.

ولن يُطلب منك ضبط أي إعدادات أخرى خاصة بشبكة Edge. وفي حال ضبط البيئة الهدف لإشارة اسم الخادم (SNI)، يتوافق متصفّح Edge معها. يستخلص Edge اسم المضيف تلقائيًا من عنوان URL للطلب ويضيفه إلى طلب تأكيد اتصال بروتوكول أمان طبقة النقل (TLS).

تفعيل إشارة SNI بين Edge والخلفية للإصدار 4.15.07.0x من Edge

استخدم الإجراء التالي لتمكين إشارة SNI:

  1. في عُقدة معالج الرسائل الأولى، افتح الملف /opt/apigee4/conf/apigee/message-processor/system.properties في محرِّر.
  2. اضبط السمة التالية على "صحيح" في system.properties:
    jsse.enableSNIExtension=true
  3. أعِد تشغيل معالجات الرسائل:
    /opt/apigee4/bin/apigee-service message-processor restart
  4. كرِّر هذه الخطوات على كل معالِجات الرسائل المتبقية.

تفعيل إشارة SNI بين Edge والخلفية للإصدار 4.16.01 والإصدارات الأحدث من Edge

استخدم الإجراء التالي لتمكين إشارة SNI:

  1. في أول عقدة لمعالج الرسائل، عدِّل /opt/apigee/customer/application/message-processor.properties. إذا لم يكن الملف موجودًا، فأنشئه.
  2. أضِف السمة التالية إلى الملف:
    conf_system_jsse.enableSNIExtension=true
  3. أعِد تشغيل معالج الرسائل:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. كرِّر هذه الخطوات على كل معالِجات الرسائل المتبقية.