ضبط بروتوكول أمان طبقة النقل (TLS) من Edge إلى الخلفية (Cloud وPrivate Cloud)

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

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

تشير TargetEndpoint إلى المكافئ الصادر لـ ProxyEndpoint. دوال نقطة النهاية المستهدفة كعميل HTTP من Edge إلى خدمة الخلفية. عند إنشاء خادم وكيل لواجهة برمجة التطبيقات، يمكنك ضبط استخدام صفر أو أكثر من نقاط النهاية المستهدفة.

مزيد من المعلومات:

ضبط نقطة نهاية هدف أو TargetServer

لضبط TargetEndpoint، عدِّل كائن XML الذي يحدّد TargetEndpoint. يمكنك تعديل TargetEndpoint من خلال تعديل ملف XML الذي يحدد TargetEndpoint في الخادم الوكيل لواجهة برمجة التطبيقات أو تعديله في واجهة مستخدم إدارة Edge.

لاستخدام واجهة مستخدم إدارة Edge لتعديل TargetEndpoint:

  1. سجِّل الدخول إلى واجهة مستخدم إدارة Edge على https://enterprise.apigee.com.
  2. اختَر اسم الخادم الوكيل لواجهة برمجة التطبيقات المطلوب تعديله.
  3. انقر على علامة التبويب التطوير.
  4. ضمن نقاط النهاية المستهدَفة، اختَر تلقائي.
  5. في منطقة الرمز البرمجي، يظهر تعريف TargetEndpoint على النحو التالي:
    <TargetEndpoint name="default">
      <Description/>
      <FaultRules/>
      <Flows/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <HTTPTargetConnection>
        <Properties/>
        <SSLInfo>
          <Enabled>true</Enabled>
          <TrustStore>ref://myTrustStoreRef</TrustStore>
        </SSLInfo>
        <URL>https://mocktarget.apigee.net</URL>
      </HTTPTargetConnection>
    </TargetEndpoint>
  6. ضبط مخزن ائتماني كما هو موضح أدناه في لمحة عن ضبط بروتوكول أمان طبقة النقل (TLS) مع الخلفية
  7. أجرِ أي تغييرات واحفظ الخادم الوكيل. إذا تم نشر الخادم الوكيل لواجهة برمجة التطبيقات، سيتم حفظه وإعادة نشرها باستخدام الإعداد الجديد.

لاحِظ أنّ تعريف TargetEndpoint يحتوي على السمة name. يمكنك استخدام القيمة السمة name لإعداد تعريف ProxyEndpoint للخادم الوكيل لواجهة برمجة التطبيقات من أجل استخدام نقطة النهاية المستهدفة. يمكنك الاطّلاع على مرجع إعداد الخادم الوكيل لواجهة برمجة التطبيقات لمعرفة المزيد.

يمكن تهيئة TargetEndpoints للإشارة إلى TargetServer بدلاً من واجهة عنوان URL المستهدف. تعمل إعدادات TargetServer على فصل عناوين URL لنقاط النهاية الملموسة عن إعدادات TargetEndpoint يتم استخدام TargetServers لدعم موازنة التحميل وتجاوز الفشل عبر مثيلات خادم الخلفية المتعددة.

وفي ما يلي مثال على تعريف TargetServer:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>80</Port>
  <IsEnabled>true</IsEnabled>
</TargetServer> 

تتم الإشارة إلى TargetServer بالاسم في <HTTPTargetConnection>. في تعريف نقطة النهاية المستهدفة. يمكنك ضبط واحد أو أكثر من خوادم TargetServers، كما هو موضّح أدناه.

<TargetEndpoint name="default">
  ...
  <HTTPTargetConnection>
    <LoadBalancer>
      <Server name="target1" />
      <Server name="target2" />
    </LoadBalancer>
    <Path>/test</Path>
  </HTTPTargetConnection>
  ...
</TargetEndpoint>

يُرجى الاطّلاع على موازنة التحميل في خوادم الخلفية لمزيد من المهام

لمحة عن ضبط بروتوكول أمان طبقة النقل (TLS) مع الخلفية

قبل تهيئة الوصول عبر بروتوكول أمان طبقة النقل (TLS) إلى الخلفية، ينبغي لك فهم أمرين مهمين النقاط:

  1. وفقًا للإعدادات التلقائية، لا تتحقّق شبكة Edge من شهادة الخلفية. يجب إنشاء متجر موثوق به لضبطه. Edge للتحقق من صحة الشهادة.
  2. استخدِم مرجعًا لتحديد ملف تخزين المفاتيح أو ملف تخزين الثقة المستخدَم في Edge.

كلا الاعتبارات موضحة أدناه.

تحديد متجر موثوق به لتفعيل التحقّق من صحة الشهادة

عند تقديم طلب TLS من خلال TargetEndpoint أو TargetServer، لا التحقق من صحة شهادة بروتوكول أمان طبقة النقل (TLS) التي تم استلامها من خادم الخلفية بشكل تلقائي. يعني ذلك أنّ متصفّح Edge لا يتحقّق مما يلي:

  • تم توقيع الشهادة من قِبل مرجع تصديق موثوق به.
  • عدم انتهاء صلاحية الشهادة.
  • تقدم الشهادة اسمًا شائعًا. إذا كان هناك اسم شائع، فلن يتم التحقق من Edge من تطابق الاسم الشائع مع اسم المضيف المحدد في عنوان URL.

لضبط Edge على التأكّد من صحة شهادة الخلفية، عليك إجراء ما يلي:

  1. إنشاء متجر شهادات على Edge.
  2. حمِّل شهادة الخادم أو سلسلة الشهادات إلى Truststore. وإذا وقّعت جهة خارجية على شهادة الخادم، فستحتاج إلى تحميل ملف إكمال سلسلة الشهادات، بما في ذلك شهادة CA الجذر، في Truststore. ما مِن مراجع تصديق موثوق بها بشكلٍ ضمني.
  3. أضِف Truststore إلى تعريف TargetEndpoint أو TargetServer.

يمكنك الاطّلاع على محفظات المفاتيح والمستودعات الموثوق بها للتعرّف على مزيد من المعلومات.

على سبيل المثال:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

استخدام مرجع إلى ملف تخزين مفاتيح أو ملف تخزين موثوق به

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

تنصحك Apigee بشدة باستخدام مرجع إلى ملف تخزين المفاتيح Truststore في تعريف TargetEndpoints أو TargetServer. ميزة استخدام المرجع أنه ما عليك سوى تحديث المرجع للإشارة إلى ملف تخزين مفاتيح مختلف أو مخزن موثوق به لتحديث شهادة بروتوكول أمان طبقة النقل (TLS).

مراجع لملفات تخزين المفاتيح والمستودعات الموثوق بها في استهداف نقاط النهاية أو تعريف TargetServer بالطريقة نفسها التي يعمل بها للمضيفات الافتراضية.

تحويل TargetEndpoint أو TargetServer لاستخدام مرجع

قد يكون لديك تعريفات حالية من TargetEndpoint أو TargetServer الاسم الحرفي لملف تخزين المفاتيح وملف تخزين الثقة. لتحويل TargetEndpoint أو TargetServer لاستخدام المراجع:

  1. عدِّل تعريف TargetEndpoint أو TargetServer لاستخدام مرجع.
  2. إعادة تشغيل معالِجات الرسائل في Edge:
    • بالنسبة إلى عملاء Public Cloud، يُرجى التواصل مع Apigee Edge Support لإعادة تشغيل معالِجات الرسائل.
    • بالنسبة إلى عملاء Private Cloud، يجب إعادة تشغيل معالِجات الرسائل Edge واحد. في كل مرة.
  3. تأكَّد من أنّ TargetEndpoint أو TargetServer يعملان بشكل صحيح.

ضبط بروتوكول أمان طبقة النقل (TLS) أحادي الاتجاه للخلفية خادم

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

ما عليك سوى التأكد من أنّ عنصر <URL> في يشير تعريف TargetEndpoint إلى خدمة الخلفية من خلال بروتوكول HTTPS تمكين بروتوكول أمان طبقة النقل (TLS):

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

إذا كنت تستخدم TargetServer لتحديد الخدمة الخلفية، عليك تفعيل بروتوكول أمان طبقة النقل (TLS). في تعريف TargetServer:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
  </SSLInfo> 
</TargetServer> 

مع ذلك، إذا أردت من Edge أن يتحقق من صحة شهادة الخلفية، عليك إنشاء متجر شهادات. الذي يحتوي على الشهادة الخلفية أو سلسلة الشهادة. يمكنك بعد ذلك تحديد Truststore في تعريف TargetEndpoint:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

أو في تعريف TargetServer:

<TargetServer name="target1">
  <Host>mockserver.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
    <TrustStore>ref://myTrustStoreRef</TrustStore>
  </SSLInfo> 
</TargetServer>

لضبط طبقة النقل الآمنة الأحادية الاتجاه:

  1. إذا أردت التحقّق من صحة شهادة الخلفية، أنشئ متجر شهادات على Edge وحمِّله شهادة الخلفية أو سلسلة CA، كما هو موضح في محفظات المفاتيح والمستودعات الموثوقة: على سبيل المثال، إذا كان عليك إنشاء مخزن شهادات، فقم بتسميته myTrustStore.
  2. في حال إنشاء Truststore، استخدِم طلب البيانات من واجهة برمجة التطبيقات POST التالي لإنشاء المرجع المُسمّى myTrustStoreRef إلى المتجر الموثوق به الذي أنشأته. أعلاه:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
      -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
      </ResourceReference>' -u email:password
    
  3. استخدام واجهة مستخدم إدارة Edge لتعديل تعريف TargetEndpoint للخادم الوكيل لواجهة برمجة التطبيقات (أو إذا حددت الخادم الوكيل لواجهة برمجة التطبيقات في ملف XML، يمكنك تعديل ملفات XML للخادم الوكيل):
    1. سجِّل الدخول إلى واجهة مستخدم إدارة Edge على https://enterprise.apigee.com.
    2. في قائمة "واجهة مستخدم إدارة Edge"، اختَر واجهات برمجة التطبيقات.
    3. اختَر اسم الخادم الوكيل لواجهة برمجة التطبيقات المطلوب تعديله.
    4. اختَر علامة التبويب التطوير.
    5. ضمن نقاط النهاية المستهدَفة، اختَر تلقائي.
    6. عدِّل العنصر <HTTPTargetConnection> في قسم الرمز البرمجي ليصبح لإضافة العنصر <SSLInfo>. احرص على تحديد مرجع Truststore الصحيح وضبط <Enabled> على "صحيح":
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <TrustStore>ref://myTrustStoreRef</TrustStore>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        …
      </TargetEndpoint>
    7. احفظ الخادم الوكيل لواجهة برمجة التطبيقات. إذا تم نشر الخادم الوكيل لواجهة برمجة التطبيقات، فإن حفظه يؤدي إلى إعادة نشره باستخدام إعداد جديد.

إعداد بروتوكول أمان طبقة النقل (TLS) ثنائي الاتجاه للخلفية خادم

إذا كنت ترغب في دعم بروتوكول أمان طبقة النقل (TLS) ثنائي الاتجاه بين Edge (عميل TLS) وخادم الخلفية (TLS) الخادم):

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

استخدام الاسم المستعار للمفتاح لتحديد شهادة ملف تخزين المفاتيح

يمكنك تحديد عدة شهادات، لكل منها اسم مستعار خاص بها، في ملف تخزين المفاتيح نفسه. يستخدم Edge تلقائيًا أول شهادة تم تحديدها في ملف تخزين المفاتيح.

يمكنك اختياريًا ضبط Edge لاستخدام الشهادة التي تحدّدها السمة <KeyAlias>. يتيح لك هذا تحديد ملف تخزين مفاتيح واحد لشهادات متعددة، ثم وحدد ما تريد استخدامه في تعريف TargetServer. في حال لم يتمكن Edge من العثور على شهادة باستخدام اسم مستعار التي تتطابق مع <KeyAlias>، فإنها تستخدم الإجراء التلقائي المتمثل في اختيار الشهادة الأولى في ملف تخزين المفاتيح.

على مستخدمي Edge for Public Cloud التواصل مع فريق Apigee Edge Support لتفعيل هذه الميزة.

إعداد بروتوكول أمان طبقة النقل (TLS) ثنائي الاتجاه

لإعداد بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه:

  1. أنشِئ ملف تخزين المفاتيح على Edge، وحمِّل شهادة المفتاح والمفتاح الخاص باستخدام الإجراء. كما هو موضح هنا: محفظات المفاتيح والمستودعات الموثوقة. في هذا المثال، أنشئ ملف تخزين مفاتيح باسم myTestKeystore يستخدم لـ myKey البديل للشهادة والمفتاح الخاص.
  2. استخدِم طلب POST التالي من واجهة برمجة التطبيقات لإنشاء المرجع. باسم myKeyStoreRef إلى ملف تخزين المفاتيح الذي أنشأته أعلاه:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myKeyStoreRef">
        <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/myKeyStoreRef /
    -u email:password
    
  3. إذا أردت التحقّق من صحة شهادة الخلفية، أنشِئ متجرًّا موثوقًا به على Edge، وحمِّل الشهادة وهيئة إصدار الشهادات (CA). كما هو موضح هنا: متاجر المفاتيح والمستودعات الموثوقة. على سبيل المثال، إذا كان عليك إنشاء اسم متجر موثوق به، وهو myTrustStore.
  4. في حال إنشاء Truststore، استخدِم طلب البيانات من واجهة برمجة التطبيقات POST التالي لإنشاء المرجع المُسمّى myTrustStoreRef إلى المتجر الموثوق به الذي أنشأته. أعلاه:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    
  5. استخدام واجهة مستخدم إدارة Edge لتعديل تعريف TargetEndpoint للخادم الوكيل لواجهة برمجة التطبيقات (أو إذا حددت الخادم الوكيل لواجهة برمجة التطبيقات في ملف XML، يمكنك تعديل ملفات XML للخادم الوكيل):
    1. سجِّل الدخول إلى واجهة مستخدم إدارة Edge على https://enterprise.apigee.com.
    2. في قائمة "واجهة مستخدم إدارة Edge"، اختَر واجهات برمجة التطبيقات.
    3. اختَر اسم الخادم الوكيل لواجهة برمجة التطبيقات المطلوب تعديله.
    4. اختَر علامة التبويب التطوير.
    5. ضمن نقاط النهاية المستهدَفة، اختَر تلقائي.
    6. عدِّل العنصر <HTTPTargetConnection> في قسم الرمز البرمجي ليصبح إضافة <SSLInfo> العنصر. تأكد من تحديد ملف تخزين المفاتيح والاسم المستعار للمفتاح الصحيح وتعيين عناصر <Enabled> و<ClientAuthEnabled> على "صحيح":
      <TargetEndpoint name="default">
        ...
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <ClientAuthEnabled>true</ClientAuthEnabled>
            <KeyStore>ref://myKeyStoreRef</KeyStore>
            <KeyAlias>myKey</KeyAlias>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        ...
      </TargetEndpoint>
    7. احفظ الخادم الوكيل لواجهة برمجة التطبيقات. إذا تم نشر الخادم الوكيل لواجهة برمجة التطبيقات، فإن حفظه يؤدي إلى إعادة نشره باستخدام إعداد جديد.

لمزيد من المعلومات عن الخيارات المتاحة في <TargetEndpoint>، بما في ذلك استخدام المتغيّرات لتوفير قيم TargetEndpoint <SSLInfo>، يُرجى الاطّلاع على مرجع ضبط الخادم الوكيل لواجهة برمجة التطبيقات.

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

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

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