أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
تسمح ميزة "اسم الخادم" (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، يُرجى الاطّلاع على:
- https://en.wikipedia.org/wiki/Server_Name_Indication
- http://blog.layershift.com/sni-ssl-production-ready/
إتاحة SNI لطلب موجّه إلى خادم وكيل لواجهة برمجة التطبيقات على Edge
يتم التحكّم في إمكانية استخدام الإشارة إلى اسم الخادم (SNI) للطلبات المُرسَلة إلى خوادم وكيل لواجهة برمجة التطبيقات من خلال أسماء مستعارة للمضيفين والمضيفين الافتراضيين.
لمحة عن المضيفين الظاهريين وأسماء المضيفين المستعارة
في Edge، يحدّد المضيف الافتراضي عنوان IP والمنفذ أو اسم نظام أسماء النطاقات والمنفذ اللذين يتم عرض خادم وكيل لواجهة برمجة التطبيقات عليهما، وبالتالي عنوان URL الذي تستخدمه التطبيقات للوصول إلى خادم وكيل لواجهة برمجة التطبيقات. يتوافق عنوان IP/اسم نظام أسماء النطاقات مع جهاز توجيه على الحافة، ورقم المنفذ هو منفذ مفتوح على جهاز التوجيه.
عند إنشاء المضيف الافتراضي، يمكنك أيضًا تحديد الاسم المستعار للمضيف الافتراضي.
عادةً ما يكون هذا هو اسم نظام أسماء النطاقات الخاص بالمضيف الافتراضي. كجزء من تحديد خادم وكيل لواجهة برمجة التطبيقات الذي يعالج الطلب، يقارن جهاز التوجيه عنوان Host في الطلب الوارد بقائمة أسماء المضيفين المستعارين المتاحة التي تحددها جميع المضيفات الافتراضية.
يجب أن تكون مجموعة اسم مستعار المضيف ورقم المنفذ للمضيف الظاهري فريدة لجميع المضيفين الظاهريين في عملية تثبيت Edge. وهذا يعني أنّه يمكن لعدة مضيفات افتراضية استخدام رقم المنفذ نفسه إذا كانت لديها أسماء مستعارة مختلفة للمضيف.
يحدّد المضيف الافتراضي أيضًا ما إذا كان يمكن الوصول إلى خادم وكيل واجهة برمجة التطبيقات باستخدام بروتوكول HTTP أو بروتوكول HTTPS المشفّر باستخدام بروتوكول أمان طبقة النقل (TLS). عند ضبط مضيف افتراضي لاستخدام HTTPS، اربط المضيف الافتراضي بمخزن مفاتيح يحتوي على الشهادة والمفتاح الخاص اللذين يستخدمهما المضيف الافتراضي أثناء عملية المصافحة عبر بروتوكول أمان طبقة النقل (TLS).
للحصول على معلومات إضافية حول المضيفات الافتراضية، يُرجى الاطّلاع على:
- لمحة عن المضيفين الافتراضيين
- ضبط إذن الوصول إلى واجهة برمجة تطبيقات في السحابة الإلكترونية الخاصة باستخدام بروتوكول أمان طبقة النقل (TLS)
- ملفات تخزين المفاتيح وملفات تخزين الشهادات الموثوقة
طريقة عمل SNI مع أسماء مستعارة للمضيف
تتيح لك SNI تحديد مضيفات افتراضية متعددة على المنفذ نفسه، ولكل منها شهادات ومفاتيح TLS مختلفة. يحدّد Edge بعد ذلك المضيف الظاهري وزوج الشهادة/المفتاح المستخدَم في بروتوكول أمان طبقة النقل (TLS)، استنادًا إلى الإضافة server_name في طلب تبادل بيانات بروتوكول أمان طبقة النقل (TLS).
يقرأ Edge Router الإضافة server_name في طلب المصافحة عبر بروتوكول أمان طبقة النقل (TLS)، ثم يستخدمها للبحث عن أسماء المضيفين المستعارين من جميع المضيفين الظاهريين. إذا رصد جهاز التوجيه تطابقًا مع اسم مستعار للمضيف، سيستخدم جهاز التوجيه شهادة وبروتوكول أمان طبقة النقل (TLS) من المضيف الافتراضي المرتبط باسم المضيف المستعار. في حال عدم العثور على تطابق، يتعذّر إجراء مصافحة TLS.
بدلاً من تعذُّر إتمام عملية تأكيد الاتصال عبر TLS، يمكنك تحديد زوج شهادة/مفتاح تلقائي، كما هو موضّح في الأقسام التالية.
تحديد زوج مفتاح/شهادة تلقائي في Edge for the Cloud
توفّر Apigee شهادة TLS ومفتاحًا خاصًا لدعم HTTPS. على الرغم من أنّ العديد من العملاء يفضّلون استخدام شهاداتهم ومفاتيحهم الخاصة عند النشر، يمكنك نشر واجهات برمجة التطبيقات باستخدام شهادة Apigee ومفتاحها.
في Edge for the Cloud، إذا لم يتمكّن جهاز التوجيه من مطابقة عنوان SNI مع اسم مستعار للمضيف أو إذا كان العميل لا يتيح SNI، سيستخدم جهاز التوجيه الشهادة التلقائية التي توفّرها Apigee، وهي *.apigee.net.
تحديد زوج مفتاح/شهادة تلقائي في Edge for Private Cloud
في Edge for the Private Cloud، إذا لم يتم العثور على تطابق بين الإضافة server_name وأسماء المضيفين البديلة
من جميع المضيفين الافتراضيين، أو إذا كان العميل الذي يرسل الطلب لا يتوافق مع SNI، يمكنك ضبط
الموجّه لاستخدام الشهادة/المفتاح من مضيف افتراضي تلقائي على المنفذ. يتم تحديد المضيف الظاهري التلقائي من خلال مجموعة من اسم المؤسسة واسم البيئة واسم المضيف الظاهري، وذلك بالتنسيق التالي:
orgName_envName_vhName
يستخدم جهاز التوجيه الشهادة/المفتاح من المجموعة orgName_envName_vhName التي تظهر أولاً بالترتيب الأبجدي. على سبيل المثال، يصل الطلب إلى المنفذ 443، وهناك مضيفان افتراضيان محدّدان للمؤسسة example في البيئة prod:
- اسم المضيف الافتراضي =
default - اسم المضيف الافتراضي =
test
في هذا المثال، يستخدم جهاز التوجيه الشهادة/المفتاح من المضيف الافتراضي المسمّى default
لأنّ example_prod_default يسبق example_prod_test في الترتيب الأبجدي.
لتفعيل المضيف الافتراضي:
- في عقدة "الموجّه" الأولى، عدِّل
/opt/apigee/customer/application/router.properties. إذا لم يكن هذا الملف متوفّرًا، أنشئه. - أضِف السمة التالية إلى الملف لتتمكّن من تحديد مضيف افتراضي:
conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
- أعِد تشغيل جهاز التوجيه:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- كرِّر هذه الخطوات على جميع أجهزة التوجيه المتبقية.
بدلاً من استخدام الشهادة/المفتاح من المضيف الافتراضي، يمكنك تحديد الشهادة/المفتاح الافتراضي بشكل صريح على جهاز التوجيه. اتّبِع الإجراء التالي لتحديد شهادة/مفتاح تشفير تلقائيَين:
- في عُقدة Router الأولى، انسخ الشهادة والمفتاح الخاص إلى موقع جغرافي على عُقدة Router يمكن للمستخدم apigee الوصول إليه. مثلاً:
/opt/apigee/customer/application - تغيير ملكية الملفات إلى "apigee. user:
chown apigee:apigee /opt/apigee/customer/application/myCert.pem
chown apigee:apigee /opt/apigee/customer/application/myKey.pem
- تعديل "
/opt/apigee/customer/application/router.properties". إذا لم يكن هذا الملف متوفّرًا، أنشئه. - أضِف السمات التالية إلى الملف لتتمكّن من تحديد الشهادة/المفتاح التلقائيين:
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 - اضبط السمات التالية في
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
- أعِد تشغيل جهاز التوجيه:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- كرِّر هذه الخطوات على جميع أجهزة التوجيه المتبقية.
إتاحة SNI للطلبات من Edge إلى الخلفية
يتيح Edge استخدام SNI من "معالجات الرسائل" لاستهداف نقاط النهاية في Apigee Edge for Cloud وApigee Edge for Private Cloud. يتم تفعيل SNI تلقائيًا على "معالجات رسائل Edge" في السحابة الإلكترونية وإيقافها في السحابة الإلكترونية الخاصة.
استخدام SNI في الخلفية في Edge for Private Cloud
بالنسبة إلى Edge for the Private Cloud، ولضمان التوافق مع الأنظمة القديمة مع الخلفيات المستهدَفة الحالية، أوقفت Apigee ميزة SNI تلقائيًا. إذا تم ضبط الخلفية المستهدَفة لتتوافق مع SNI، يمكنك تفعيل هذه الميزة كما هو موضّح أدناه لإصدار Edge الذي تستخدمه.
لا يلزم إجراء أي إعدادات أخرى خاصة بمتصفّح Edge. إذا كانت البيئة المستهدَفة معدّة لاستخدام إشارة اسم الخادم (SNI)، يتيحها Edge. يستخرج Edge تلقائيًا اسم المضيف من عنوان URL للطلب ويضيفه إلى طلب تأكيد اتصال TLS.
تفعيل SNI بين Edge والخادم الخلفي لإصدار Edge 4.15.07.0x
اتّبِع الإجراء التالي لتفعيل SNI:
- في عقدة "معالج الرسائل" الأولى، افتح الملف
/opt/apigee4/conf/apigee/message-processor/system.propertiesفي محرِّر. - اضبط السمة التالية على "صحيح" في
system.properties:jsse.enableSNIExtension=true
- أعِد تشغيل "معالجات الرسائل":
/opt/apigee4/bin/apigee-service message-processor restart
- كرِّر هذه الخطوات على جميع "معالجات الرسائل" المتبقية.
تفعيل SNI بين Edge والخادم الخلفي للإصدار 4.16.01 من Edge والإصدارات الأحدث
اتّبِع الإجراء التالي لتفعيل SNI:
- في عقدة "معالج الرسائل" الأولى، عدِّل
/opt/apigee/customer/application/message-processor.properties. إذا لم يكن هذا الملف متوفّرًا، أنشئه. - أضِف السمة التالية إلى الملف:
conf_system_jsse.enableSNIExtension=true
- أعِد تشغيل "معالج الرسائل":
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- كرِّر هذه الخطوات على جميع "معالجات الرسائل" المتبقية.