لمحة عن المضيفين الافتراضيين

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

في Edge، يتولّى جهاز التوجيه معالجة جميع زيارات واجهة برمجة التطبيقات الواردة. وهذا يعني أنّ جميع طلبات HTTP وHTTPS إلى خادم وكيل لواجهة برمجة التطبيقات تتم معالجتها أولاً من خلال جهاز توجيه Edge.

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

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

على سبيل المثال، تعرض الصورة التالية جهاز توجيه يتضمّن تعريفَين لجهاز مضيف افتراضي:

يتولّى المضيف الافتراضي الأول معالجة طلبات HTTPS على النطاق domainName1 ويتولّى المضيف الثاني معالجة طلبات HTTP على domainName1.

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

لمحة عن تعريفات الأجهزة المضيفة الافتراضية

تحتوي الأجهزة المضيفة الافتراضية على المعلومات التالية:

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

على سبيل المثال، يمكنك تحديد المعلومات التالية عند إنشاء جهاز مضيف افتراضي:

  • name = myvhost
  • host alias = apis.acme.com
  • port = 443
  • تم تفعيل بروتوكول أمان طبقة النقل (TLS)

استنادًا إلى الإعداد أعلاه للجهاز المضيف الافتراضي، يستخدم الطلب إلى خادم وكيل لواجهة برمجة التطبيقات النموذج التالي:

https://apis.acme.com/{proxy-base-path}/{resource-path}

حيث:

  • {proxy-base-path} يتم تحديده عند إنشاء خادم وكيل لواجهة برمجة التطبيقات ويكون فريدًا لكل خادم وكيل لواجهة برمجة التطبيقات. على سبيل المثال:
    https://apis.acme.com/characters
  • {resource-path} هو المسار إلى مورد يمكن الوصول إليه من خلال الخادم الوكيل لواجهة برمجة التطبيقات. على سبيل المثال:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

لمحة عن الأجهزة المضيفة الافتراضية في Edge for the Cloud

تتضمّن كل مؤسسة على Edge تلقائيًا بيئتَين (test وprod) وجهازَي مضيف افتراضي في كل بيئة (default وsecure)، وسجلّات نظام أسماء النطاقات لكل اسم مستعار للمضيف.

يحتوي الاسم المستعار للمضيف لكل جهاز مضيف افتراضي توفّره Apigee على اسم المؤسسة و البيئة، كما هو موضّح في الجدول التالي:

البيئة اسم الجهاز المضيف الافتراضي الاسم المستعار للمضيف المنفذ تم تفعيل بروتوكول أمان طبقة النقل (TLS)
الإنتاج المظهر التلقائي {org-name}-prod.apigee.net 80 لا
آمن {org-name}-prod.apigee.net 443 نعم
اختبار المظهر التلقائي {org-name}-test.apigee.net 80 لا
آمن {org-name}-test.apigee.net 443 نعم

على سبيل المثال، اسم النطاق التلقائي لمؤسسة باسم "myorg" في بيئة prod هو "myorg-prod.apigee.net". بالتالي، للوصول إلى خادم وكيل لواجهة برمجة التطبيقات في هذه المؤسسة، يمكنك استخدام عنوان URL بالصيغة التالية:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

الخطط المدفوعة من Apigee: قد لا يكون اسم النطاق الذي يحتوي على "apigee.net" هو ما تريد عرضه على عملائك. يمكنك استخدام إدخال نظام أسماء النطاقات وسجلّ CNAME لربط اسم نطاق بـ مؤسستك على Edge. عليك أيضًا إنشاء جهاز مضيف افتراضي مع ضبط الاسم المستعار للمضيف على اسم النطاق هذا. يتيح ذلك للمطوّرين الوصول إلى واجهة برمجة التطبيقات من خلال نطاق خاص بشركتك.

في ما يلي مثال على نطاق مخصّص في Edge:

https://apis.acme.com/{proxy-base-path}/{resource-path}

لمحة عن الأجهزة المضيفة الافتراضية على Edge for Private Cloud

عند تثبيت Apigee Edge for Private Cloud، لا يتم إنشاء أي مؤسسات تلقائية، أو بيئات، أو أجهزة مضيفة افتراضية لك. بعد إكمال عملية تثبيت Edge، يكون الإجراء الأول عادةً هو إنشاء مؤسسة وبيئة وجهاز مضيف افتراضي من خلال عملية "الإعداد".

لإجراء عملية الإعداد، نفِّذ الأمر التالي على عقدة "خادم إدارة Edge":

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

حيث يحتوي configFile على المعلومات اللازمة لإنشاء مستخدم ومؤسسة وبيئة وجهاز مضيف افتراضي.

على سبيل المثال، يمكنك إنشاء ما يلي:

  • مستخدم تختاره ليكون مشرف المؤسسة
  • مؤسسة باسم example
  • بيئة في المؤسسة باسم prod
  • جهاز مضيف افتراضي في البيئة باسم default يسمح بالوصول عبر HTTP على المنفذ 9001
  • اسم مستعار للمضيف لاسم نظام أسماء النطاقات المستخدَم للوصول إلى جهاز التوجيه، أو عنوان IP الخاص بجهاز التوجيه ومنفذ الجهاز المضيف الافتراضي بالصيغة IP:9001

يمكنك لاحقًا إضافة أي عدد من المؤسسات والبيئات والأجهزة المضيفة الافتراضية إلى إصدار Edge المحلي. لمزيد من المعلومات، يُرجى الاطّلاع على ما يلي:

يتم فتح الأجهزة المضيفة الافتراضية على جهاز توجيه Edge. لذلك، عليك التأكّد من أنّ المنفذ الذي تحدّده للجهاز المضيف الافتراضي مفتوح على جهاز التوجيه. يمكنك استخدام أمر بالصيغة التالية لفتح منفذ:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

بعد تنفيذ هذا الأمر، يمكنك الوصول إلى واجهات برمجة التطبيقات باستخدام عنوان URL بالصيغة التالية:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

عادةً، لا تنشر واجهات برمجة التطبيقات للعملاء باستخدام عنوان IP ورقم منفذ. بدلاً من ذلك، يمكنك تحديد إدخال نظام أسماء النطاقات لجهاز التوجيه والمنفذ. على سبيل المثال:

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

عند تحديد إدخال نظام أسماء النطاقات، عليك أيضًا إنشاء جهاز مضيف افتراضي باستخدام اسم مستعار للمضيف يتطابق مع اسم النطاق الخاص بإدخال نظام أسماء النطاقات. من المثال أعلاه، يمكنك تحديد اسم مستعار للمضيف هو myAPI.myCo.com عند إنشاء الجهاز المضيف الافتراضي.

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

إحدى الخصائص التي تضبطها لجهاز مضيف افتراضي هي الاسم المستعار للمضيف. عادةً ما يكون الاسم المستعار للمضيف هو اسم نظام أسماء النطاقات الخاص بالجهاز المضيف الافتراضي. تعتمد طريقة ضبط الاسم المستعار للمضيف على نوع تثبيت Edge: Cloud أو Private Cloud.

الأسماء المستعارة للمضيفين و أسماء نظام أسماء النطاقات في Edge for the Cloud

في Edge for the Cloud، عند إنشاء مؤسسة على Edge للمرة الأولى، تنشئ Apigee تلقائيًا بيئتَين (test وprod) وجهازَي مضيف افتراضي في كل بيئة (default وsecure) وسجلّات نظام أسماء النطاقات لكل جهاز مضيف افتراضي.

يحتوي الاسم المستعار للمضيف الخاص بالأجهزة المضيفة الافتراضية على اسم المؤسسة والبيئة. لذلك، يكون للطلب من خلال جهاز مضيف افتراضي الصيغة التالية:

  • http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

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

يوضّح الشكل التالي إعدادًا نموذجيًا لكيفية معالجة Edge لطلب واجهة برمجة التطبيقات:

في هذا المثال:

  • api.acme.com هو اسم النطاق المطلوب.
  • يمكنك تحديد إدخال نظام أسماء النطاقات وسجلّ CNAME للإشارة من api.acme.com إلى acme-prod.apigee.net.
  • يحتوي الطلب على عنوان Host الذي يستخدمه جهاز التوجيه لتحديد الجهاز المضيف الافتراضي الذي يعالج الطلب.

في هذا المثال، يمكنك تحديد المعلومات التالية في تعريف الجهاز المضيف الافتراضي:

  • name = myvhost
  • host alias = apis.acme.com
  • port = 443
  • تفعيل الوصول عبر بروتوكول أمان طبقة النقل (TLS)

لمزيد من المعلومات، يُرجى الاطّلاع على ضبط الأجهزة المضيفة الافتراضية لـ Cloud.

الأسماء المستعارة للمضيفين وأسماء نظام أسماء النطاقات في Edge for Private Cloud

كما هو الحال مع Edge for the Cloud، يمكنك إنشاء أجهزة مضيفة افتراضية تستخدم اسم النطاق الخاص بك للاسم المستعار للمضيف. بعد ذلك، يمكنك إنشاء إدخال نظام أسماء النطاقات وسجلّ CNAME للوصول إلى هذه الأجهزة المضيفة الافتراضية.

أحد الاختلافات بين Cloud وPrivate Cloud هو أنّ Apigee في Cloud أنشأت تلقائيًا أسماء نظام أسماء النطاقات لمؤسساتك، بالصيغة التالية:

  • name=default: http://{org-name}-{env-name}.apigee.net (المنفذ 80 لجهاز التوجيه)
  • name=secure: https://{org-name}-{env-name}.apigee.net (المنفذ 443 لجهاز التوجيه)

في Edge for the Private Cloud، عليك إنشاء إدخالات نظام أسماء النطاقات لعنوان IP ومنفذ جهاز التوجيه.

على سبيل المثال، يمكنك تحديد هذه المعلومات في تعريف الجهاز المضيف الافتراضي:

  • name = myvhost
  • host alias = apis.acme.com
  • port = 9001
  • تفعيل الوصول عبر بروتوكول أمان طبقة النقل (TLS)

يوضّح الشكل التالي إعدادًا نموذجيًا لكيفية معالجة Edge لطلب واجهة برمجة التطبيقات:

في هذا المثال:

  • api.acme.com هو اسم النطاق المطلوب.
  • يمكنك تحديد إدخال نظام أسماء النطاقات وسجلّ CNAME للإشارة من api.acme.com إلى عنوان IP ومنفذ جهاز التوجيه.
  • يحتوي الطلب على عنوان Host الذي يستخدمه جهاز التوجيه لتحديد الجهاز المضيف الافتراضي الذي يعالج الطلب.

لمزيد من المعلومات، يُرجى الاطّلاع على ضبط الأجهزة المضيفة الافتراضية لـ Private Cloud.

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

يمكنك تضمين حرف البدل "*" في الاسم المستعار للمضيف. لا يمكن أن يظهر حرف البدل "*" إلا في بداية الاسم المستعار للمضيف (قبل النقطة الأولى)، ولا يمكن دمجه مع أحرف أخرى.

في ما يلي مثال على اسم مستعار صالح للمضيف باستخدام حرف بدل:

*.example.com

في ما يلي أمثلة غير صالحة:

  www.*.example.com
  w*.example.com

يتيح استخدام حرف بدل في الاسم المستعار للجهاز المضيف الافتراضي للخوادم الوكيلة لواجهة برمجة التطبيقات معالجة الطلبات الموجّهة إلى نطاقات فرعية متعددة، مثلalpha.example.com أو beta.example.com أو live.example.com. يساعدك استخدام اسم مستعار بحرف بدل أيضًا في استخدام عدد أقل من الأجهزة المضيفة الافتراضية لكل بيئة للبقاء ضمن حدود المنتج، لأنّ الجهاز المضيف الافتراضي الذي يحتوي على حرف بدل يُحتسب كجهاز مضيف افتراضي واحد فقط.

يجب أن تحتوي شهادة بروتوكول أمان طبقة النقل (TLS) للجهاز المضيف الافتراضي على حرف بدل مطابق في الاسم العام للشهادة. على سبيل المثال، *.example.com.

لمحة عن خصائص الجهاز المضيف الافتراضي

في Edge، يتم تمثيل الجهاز المضيف الافتراضي باستخدام عنصر XML. على سبيل المثال، يحدّد عنصر XML التالي جهاز مضيف افتراضي:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

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

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