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

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

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

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

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

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

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

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

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

تحتوي المضيفات الافتراضية على المعلومات التالية:

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

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

  • name = myvhost
  • host alias = apis.acme.com
  • المنفذ = 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)، ومضيفَين افتراضيَين في كل بيئة (تلقائي وآمن)، وسجلات نظام أسماء النطاقات لكل اسم مستعار للمضيف.

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

البيئة اسم المضيف الافتراضي عنوان البريد الإلكتروني البديل للمضيف المنفذ تفعيل بروتوكول أمان طبقة النقل (TLS)
prod التلقائية {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: السحابة الإلكترونية أو السحابة الإلكترونية الخاصة.

الأسماء المستعارة للمضيف وأسماء نظام أسماء النطاقات في Edge على السحابة الإلكترونية

في 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 Apigee، يتم إنشاء أسماء نظام أسماء النطاقات تلقائيًا لمؤسساتك، على النحو التالي:

  • 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
  • المنفذ = 9001
  • تفعيل إمكانية الوصول إلى بروتوكول النقل الآمن للطبقة العليا (TLS)

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

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

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

اطّلِع على ضبط المضيفات الافتراضية في "السحابة الإلكترونية الخاصة" للحصول على مزيد من المعلومات.

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

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

في ما يلي مثال على عنوان بديل صالح للمضيف باستخدام علامة wildcard:

*.example.com

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

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

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

يجب أن تحتوي شهادة بروتوكول أمان طبقة النقل (TLS) للمضيف الافتراضي على علامة Wildcard مطابقة في اسم CN للشهادة. مثلاً: *.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 the Private Cloud. إذا كنت تستخدم Edge للسحابة الإلكترونية الخاصة، تعتمد أيضًا قائمة المواقع المتاحة على إصدار Edge. للحصول على وصف كامل لجميع سمات المضيف الظاهري، اطّلِع على مرجع سمات المضيف الظاهري.

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