أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
يحدد المضيف الظاهري على Edge النطاقات والمنافذ التي يظهر عليها خادم وكيل واجهة برمجة التطبيقات، ومن خلال الإضافة، عنوان URL الذي تستخدمه التطبيقات للوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات.
ويحدد المضيف الظاهري أيضًا ما إذا كان يمكن الوصول إلى خادم وكيل واجهة برمجة التطبيقات باستخدام بروتوكول HTTP، أو من خلال بروتوكول HTTPS المشفر الذي يستخدم بروتوكول أمان طبقة النقل. عند تهيئة مضيف افتراضي لاستخدام HTTPS بروتوكول أمان طبقة النقل (TLS)، عليك إنشاء مضيف افتراضي على Edge وإعداد المضيف الافتراضي لاستخدام ملف تخزين مفاتيح و Truststore.
مزيد من المعلومات:
- لمحة عن بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL)
- استخدام بروتوكول أمان طبقة النقل (TLS) مع Edge
- لمحة عن المضيفات الافتراضية
- ضبط المضيفات الافتراضية للسحابة الإلكترونية الخاصة
- مرجع موقع المضيف الافتراضي
- محفظات المفاتيح والمستودعات الموثوقة
ما تحتاجه لإنشاء مضيف افتراضي
قبل إنشاء مضيف افتراضي، يجب أن تتوفر لديك المعلومات التالية:
- اسم النطاق الذي يظهر بشكل علني للمضيف الظاهري. على سبيل المثال، يجب أن تعرف ما
يكون الاسم الظاهر بشكل علني هو
api.myCompany.com
وmyapi.myCompany.com
وما إلى ذلك. هذه المعلومات عند إنشاء المضيف الظاهري وأيضًا عند إنشاء سجل نظام أسماء النطاقات المضيف الظاهري. -
بالنسبة إلى بروتوكول أمان طبقة النقل (TLS) الأحادي الاتجاه، عليك إنشاء ملف تخزين مفاتيح يحتوي فيه ملف تخزين المفاتيح على
ما يلي:
- شهادة بروتوكول أمان طبقة النقل (TLS) - إما شهادة موقعة من مرجع تصديق (CA) أو سلسلة من الشهادات حيث يتم توقيع الشهادة الأخيرة بواسطة مرجع تصديق.
- المفتاح الخاص: يتوافق Edge مع أحجام المفاتيح التي تصل إلى 2048 بت. عبارة المرور اختيارية.
- بالنسبة إلى بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه، ستحتاج إلى ملف تخزين مفاتيح تحتاج إلى مخزن ائتماني للاحتفاظ بـ شهادة العميل، وسلسلة هيئة إصدار الشهادات (CA) الخاصة بالشهادة اختياريًا. ستحتاج إلى متجر الثقة حتى إذا أن يتم توقيع الشهادة من قبل هيئة إصدار الشهادات (CA).
راجع ملفات تخزين المفاتيح الخزانات الموثوق بها للحصول على مزيد من المعلومات حول إنشاء ملفات تخزين المفاتيح والمستودعات الموثوقة.
ضبط المضيف الافتراضي لبروتوكول أمان طبقة النقل (TLS)
لإنشاء مضيف افتراضي، يمكنك إنشاء كائن XML يعرّف المضيف الظاهري.
يستخدم كائن XML التالي العنصر <SSLInfo>
لتحديد عنصر افتراضي.
لإعداد بروتوكول أمان طبقة النقل (TLS) الأحادي الاتجاه عبر HTTPS:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>apiTLS.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9006</Port> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>
في هذا المثال، يتم ضبط العنصر <Enabled>
على true على
تفعيل بروتوكول أمان طبقة النقل (TLS) الأحادي الاتجاه، ويحدّد العنصران <KeyStore>
و<KeyAlias>
ملف تخزين المفاتيح
والمفتاح الذي يستخدمه اتصال بروتوكول أمان طبقة النقل.
لتفعيل بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه، اضبط العنصر <ClientAuthEnabled>
على
true
وتحديد متجر شهادات
استخدام <TrustStore>
العنصر. يحمل Truststore شهادة العميل بالإضافة إلى مرجع تصديق للشهادة اختياريًا
السلسلة.
تحديد كيفية تحديد اسم ملف تخزين المفاتيح واسم ملف تخزين الثقة في المضيف الافتراضي
في مثال المضيف الافتراضي أعلاه، حددت ملف تخزين المفاتيح باستخدام مرجع. حاسمة المرجع هو متغير يحتوي على اسم ملف تخزين المفاتيح، بدلاً من تحديد اسم ملف تخزين المفاتيح مباشرةً.
تتمثل ميزة استخدام المرجع في إمكانية تغيير قيمة المرجع لتغيير ملف تخزين المفاتيح الذي يستخدمه المضيف الظاهري، عادةً لأن الشهادة في ملف تخزين المفاتيح الحالي تنتهي صلاحيته في المستقبل القريب. لا يتطلّب تغيير قيمة المرجع إعادة بدء العملية. جهاز توجيه الحافة.
ويمكنك بدلاً من ذلك استخدام اسم ملف تخزين حرفي في المضيف الظاهري. ومع ذلك، إذا لتعديل المضيف الافتراضي لتغيير اسم ملف تخزين المفاتيح، يجب إعادة تشغيل أجهزة توجيه Edge.
قيود استخدام المراجع لملفات تخزين المفاتيح وملف التخزين الموثوق به
يجب مراعاة القيود التالية عند استخدام مراجع لملفات تخزين المفاتيح المتاجر الموثوق بها:
- لا يمكنك استخدام مراجع تخزين المفاتيح ومكتبة Truststore في المضيفات الافتراضية إلا إذا كنت توفّر إشارات SNI إنهاء طبقة المقابس الآمنة (SSL) في أجهزة توجيه Apigee.
- إذا كان لديك جهاز موازنة حمل أمام أجهزة Apigee Router، وقمت بإنهاء بروتوكول أمان طبقة النقل (TLS) على جهاز موازنة الحمل، لن تتمكّن من استخدام مراجع تخزين المفاتيح وملف تخزين الثقة في الملفات الافتراضية المضيفين.
تعديل مضيف افتراضي حالي لاستخدام المراجع إلى ملف تخزين المفاتيح وملف تخزين الثقة
تنصح Apigee بشدة بأن تستخدم المضيفات الافتراضية إشارة إلى ملفات تخزين المفاتيح والمستودعات الموثوقة. تتيح لك المراجع تغيير ملف تخزين المفاتيح والمخزن الموثوق به الذي يستخدمه المضيف الظاهري بدون الاضطرار إلى إعادة تشغيل أجهزة توجيه Edge.
إذا تم إعداد المضيفات الظاهرية حاليًا لاستخدام الاسم الحرفي لملف تخزين المفاتيح أو Truststore، فيمكنك تحويلها لاستخدام المراجع. ولإجراء ذلك، عليك تحديث المضيف الافتراضي لاستخدام ثم أعد تشغيل أجهزة توجيه Edge.
إعداد رموز وبروتوكولات بروتوكول أمان طبقة النقل (TLS) للإصدار 4.15.07 والإصدارات الأقدم
إذا كنت تستخدم الإصدار 4.15.07 من Edge أو إصدار أقدم، فإنك بذلك تقوم بتعيين بروتوكول TLS وشفرات
يستخدمه المضيف الظاهري باستخدام العلامتين الفرعيتين <Ciphers>
و<Protocols>
العلامة <SSLInfo>
. هذه العلامات
الموضحة أدناه في الجدول أدناه.
على سبيل المثال:
<SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>myTestKeystore</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>myTestKeystore</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> <Protocols> <Protocol>TLSv1.2</Protocol> </Protocols> </SSLInfo> </SSLInfo>
تستخدِم العلامة <Cipher>
اسم Java وJSSE للتشفير. على سبيل المثال، بالنسبة إلى Java 8، راجع
http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites.
تحديد رموز وبروتوكولات بروتوكول أمان طبقة النقل (TLS) للإصدارات من 4.16.01 إلى 4.16.09
في الإصدارات من 4.16.01 إلى 4.16.09 من Edge، يمكنك تعيين التشفير والبروتوكولات الافتراضية للمضيفات الظاهرية على جهاز التوجيه على مستوى العالم. ثم يتم تطبيق هذه الإعدادات الافتراضية على جميع المضيفات الظاهرية.
استخدم الرموز المميزة لتحديد البروتوكولات والرموز الافتراضية:
- لتحديد البروتوكولات التلقائية، استخدم الرمز المميز
conf_load_balancing_load.balancing.driver.server.ssl.protocols
- لتحديد الرموز التلقائية لجهاز التوجيه، استخدِم الرمز المميّز
conf_load_balancing_load.balancing.driver.server.ssl.ciphers
.
القيمة التلقائية للرمز المميّز conf_load_balancing_load.balancing.driver.server.ssl.protocols
:
conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1 TLSv1.1 TLSv1.2
يشير هذا الإعداد إلى أنّ جهاز التوجيه يتيح استخدام الإصدارات 1.0 و1.1 و1.2 من بروتوكول أمان طبقة النقل (TLS). تحديد قائمة قيم مفصولة بمسافات بالرمز المميّز
القيمة التلقائية للرمز المميّز conf_load_balancing_load.balancing.driver.server.ssl.ciphers
:
conf_load_balancing_load.balancing.driver.server.ssl.ciphers=HIGH:!aNULL:!MD5:!DH+3DES:!RSA+3DES
يحدِّد هذا الإعداد ما يلي:
- يجب أن يكون طول المفتاح 128 بت أو أكثر (
HIGH
). - استبعاد الرموز بدون مصادقة (
!aNULL
) - استبعاد مجموعات الرموز باستخدام خوارزمية MD5 (
!MD5
) - استبعاد مجموعات الرموز باستخدام DH (بما في ذلك DH المجهول الهوية وDH المؤقتة وDH الثابتة)
3 DES (
!DH+3DES
) - استبعاد مجموعات الرموز باستخدام تبادل مفاتيح التشفير RSA وثلاث رموز DES (
!RSA+3DES
)
للحصول على معلومات عن البنية والقيم التي يسمح بها هذا الرمز المميّز، يُرجى الاطّلاع على تشفيرات OpenSSL. تجدر الإشارة إلى أنّ هذا الرمز يستخدم أسماء رموز OpenSSL، مثل AES128-SHA256، وليس أسماء رموز Java/JSSE، مثل TLS_RSA_WITH_AES_128_CBC_SHA256
لضبط الرمز المميّز لجهاز التوجيه:
- تعديل
/opt/apigee/customer/application/router.properties
الملف. إذا لم يكن هذا الملف متوفّرًا، أنشئه. - ضبط
conf_load_balancing_load.balancing.driver.server.ssl.ciphers
الرمز المميز. على سبيل المثال، لتحديد TLSv1.2 فقط واستبعاد مجموعات الرموز باستخدام مفاتيح مشتركة مسبقًا، إضافة!PSK
:conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2 conf_load_balancing_load.balancing.driver.server.ssl.ciphers=HIGH:!aNULL:!MD5:!DH+3DES:!RSA+3DES:!PSK
- يُرجى التأكُّد من أنّ الملف
router.properties
تابع لـ :apigeechown apigee:apigee /opt/apigee/customer/application/router.properties
- أعِد تشغيل جهاز توجيه Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- التحقّق من قيمة الرمز المميّز:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
الإعداد معلمات المضيف الافتراضي لبروتوكول أمان طبقة النقل (TLS) للإصدار 4.17.01 من Edge والإصدارات الأحدث
إذا كنت تستخدم الإصدار 4.17.01 من Edge أو إصدار أحدث، فيمكنك تعيين بعض خصائص TLS
مضيف افتراضي فردي، مثل بروتوكول أمان طبقة النقل وترميزه، باستخدام العلامة الفرعية <Properties>
الخاصة بـ
<VirtualHost>
. يتم وصف هذه العلامات في مرجع موقع المضيف الافتراضي.
على سبيل المثال:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>apiTLS.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9006</Port> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> <Properties> <Property name="proxy_read_timeout">50</Property> <Property name="keepalive_timeout">300</Property> <Property name="proxy_request_buffering">off</Property> <Property name="proxy_buffering">off</Property> <Property name="ssl_protocols">TLSv1.2 TLSv1.1</Property> <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH</Property> </Properties> </VirtualHost>
للحصول على معلومات عن البنية والقيم التي يسمح بها الرمز المميّز ssl_ciphers
، يُرجى الاطّلاع على تشفيرات OpenSSL.
تجدر الإشارة إلى أنّ هذا الرمز يستخدم أسماء رموز OpenSSL، مثل AES128-SHA256، وليس
أسماء تشفير Java/JSSE، مثل TLS_RSA_WITH_AES_128_CBC_SHA256.
إنشاء مضيف افتراضي يستخدم بروتوكول HTTPS
يحدد هذا المثال ملف تخزين المفاتيح للمضيف الظاهري باستخدام مرجع. استخدام تغيير ملف تخزين المفاتيح بدون الحاجة إلى إعادة تشغيل أجهزة التوجيه.
استخدم الإجراء التالي لإنشاء المضيف الظاهري:
- يمكنك إنشاء ملف تخزين مفاتيح باسم myTestKeystore وإعداده باستخدام الموضح هنا: تخزين المفاتيح المتاجر الموثوقة: التأكد من أن ملف تخزين المفاتيح يستخدم اسمًا مستعارًا myKeyAlias للشهادة والمفتاح الخاص.
-
استخدِم طلب POST التالي من واجهة برمجة التطبيقات لإنشاء المرجع. باسم keystoreref إلى ملف تخزين المفاتيح الذي أنشأته أعلاه:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="keystoreref"> <Refers>myTestKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
يحدّد المرجع اسم ملف تخزين المفاتيح ونوع المرجع
KeyStore
.يمكنك استخدام طلب GET API التالي لعرض المرجع:
curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/keystoreref -u uname:password
أنشئ المضيف الافتراضي باستخدام زر إنشاء واجهة برمجة تطبيقات Virtual Host، حيث
<ms-IP>
هو عنوان IP أو اسم النطاق لعقدة خادم الإدارة.احرص على تحديد مرجع ملف تخزين المفاتيح الصحيح والاسم المستعار للمفتاح:
curl -X POST -H "Content-Type:application/xml" \ http://<ms-IP>:8080/v1/o/{org_name}/environments/{env_name}/virtualhosts \ -d '<VirtualHost name="newTLSTrustStore2"> <HostAliases> <HostAlias>apiTLS.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://keystoreref</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>' \ -u email:password
- أنشئ سجل نظام أسماء نطاقات للمضيف الظاهري الذي يطابق الاسم المستعار للمضيف.
إذا كانت لديك أي خوادم وكيلة حالية لواجهة برمجة التطبيقات، أضِف المضيف الافتراضي إلى عنصر
<HTTPConnection>
في ProxyEndpoint (نقطة نهاية الخادم الوكيل). تتم إضافة المضيف الظاهري تلقائيًا إلى جميع الخوادم الوكيلة الجديدة لواجهة برمجة التطبيقات.راجِع القسم تحديث الخادم الوكيل لواجهة برمجة التطبيقات بعد إنشاء مضيف افتراضي في لمحة عن خدمات الاستضافة الافتراضية
بعد تحديث الخادم الوكيل لواجهة برمجة التطبيقات لاستخدام المضيف الظاهري، وإنشاء سجلّ نظام أسماء النطاقات للمضيف الاسم المستعار، يمكنك الوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات كما هو موضح أدناه:
https://apiTLS.myCompany.com/v1/{project-base-path}/{resource-path}
على سبيل المثال:
https://apiTLS.myCompany.com/v1/weather/forecastrss?w=12797282
إنشاء المراجع وتعديلها إلى ملف تخزين مفاتيح أو ملف تخزين موثوق به
يمكنك اختياريًا ضبط المضيف الافتراضي لاستخدام مرجع في ملف تخزين المفاتيح أو Truststore بدلاً من ذلك. تتمثل ميزة استخدام المرجع في أنه يمكنك تحديث المرجع إلى يشير إلى ملف تخزين مفاتيح مختلف أو ملف تخزين ثقة مختلف لتعديل شهادة بروتوكول أمان طبقة النقل (TLS) بدون الحاجة إلى إعادة تشغيل جهاز التوجيه.
على سبيل المثال، في ما يلي مضيف افتراضي يستخدم مرجعًا إلى ملف تخزين المفاتيح:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>apiTLS.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9006</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://keystoreref</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>
استخدِم طلب POST التالي من واجهة برمجة التطبيقات لإنشاء المرجع المُسمّى keystoreref:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="keystoreref"> <Refers>myTestKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password
يحدد المرجع اسم ملف تخزين المفاتيح ونوعه.
يمكنك استخدام طلب GET API التالي لعرض المرجع:
curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/keystoreref -u uname:password
لتغيير المرجع لاحقًا إلى ملف تخزين مفاتيح مختلف، فإن التأكد من أن الاسم المستعار نفس الاسم، استخدم استدعاء PUT التالي:
curl -X PUT -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references/keystoreref \ -d '<ResourceReference name="keystoreref"> <Refers>myNewKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password