الدخول في Azure Container Apps

تسمح لك Azure Container Apps بعرض تطبيق الحاوية الخاص بك على الويب العام والشبكة الظاهرية (VNET) وتطبيقات الحاويات الأخرى داخل بيئتك عن طريق تمكين الدخول. يتم فرض إعدادات الدخول من خلال مجموعة من القواعد التي تتحكم في توجيه حركة المرور الخارجية والداخلية إلى تطبيق الحاوية. عند تمكين الدخول، لا تحتاج إلى إنشاء موازن تحميل Azure أو عنوان IP عام أو أي موارد Azure أخرى لتمكين طلبات HTTP الواردة أو حركة مرور TCP.

يدعم الدخول:

مثال على تكوين الدخول الذي يظهر تقسيم الدخول بين مراجعتين:

رسم تخطيطي يوضح تكوين دخول يقسم نسبة استخدام الشبكة بين مراجعتين.

للحصول على تفاصيل التكوين، راجع تكوين الدخول.

دخول خارجي وداخلي

عند تمكين الدخول، يمكنك الاختيار بين نوعين من الدخول:

  • خارجي: يقبل نسبة استخدام الشبكة من كل من الإنترنت العام والبيئة الداخلية لتطبيق الحاوية.
  • داخلي: يسمح بالوصول الداخلي فقط من داخل بيئة تطبيق الحاوية.

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

أنواع البروتوكولات

تدعم تطبيقات الحاوية بروتوكولين للدخول: HTTP وTCP.

HTTP

مع تمكين دخول HTTP، يحتوي تطبيق الحاوية على:

  • دعم إنهاء TLS
  • دعم HTTP/1.1 وHTTP/2
  • دعم WebSocket وgRPC
  • نقاط نهاية HTTPS التي تستخدم دائما TLS 1.2 أو 1.3، التي تم إنهاؤها عند نقطة الدخول
  • نقاط النهاية التي تعرض المنافذ 80 (ل HTTP) و443 (ل HTTPS)
    • بشكل افتراضي، تتم إعادة توجيه طلبات HTTP إلى المنفذ 80 تلقائيا إلى HTTPS على 443
  • اسم مجال مؤهل بالكامل (FQDN)
  • مهلة الطلب هي 240 ثانية

رؤوس عناوين HTTP

يضيف دخول HTTP عناوين لتمرير بيانات التعريف حول طلب العميل إلى تطبيق الحاوية. على سبيل المثال، X-Forwarded-Proto يتم استخدام العنوان لتعريف البروتوكول الذي استخدمه العميل للاتصال بخدمة Container Apps. يسرد الجدول التالي عناوين HTTP ذات الصلة بالدخول في Container Apps:

الرأس ‏‏الوصف القيم
X-Forwarded-Proto البروتوكول المستخدم من قبل العميل للاتصال بخدمة Container Apps. http أو https
X-Forwarded-For عنوان IP للعميل الذي أرسل الطلب.
X-Forwarded-Host اسم المضيف الذي استخدمه العميل للاتصال بخدمة Container Apps.
X-Forwarded-Client-Cert شهادة العميل إذا clientCertificateMode تم تعيينها. قائمة مفصولة بفواصل منقوطة من التجزئة والشهادات والسلسلة. على سبيل المثال: Hash=....;Cert="...";Chain="...";

TCP

تدعم تطبيقات الحاوية البروتوكولات المستندة إلى TCP بخلاف HTTP أو HTTPS. على سبيل المثال، يمكنك استخدام دخول TCP لعرض تطبيق حاوية يستخدم بروتوكول Redis.

إشعار

يتم دعم دخول TCP الخارجي فقط لبيئات Container Apps التي تستخدم VNET مخصصا.

مع تمكين دخول TCP، تطبيق الحاوية الخاص بك:

  • يمكن الوصول إلى تطبيقات الحاوية الأخرى في نفس البيئة عبر اسمها (المحدد بواسطة الخاصية name في مورد Container Apps) ورقم المنفذ المكشوف.
  • يمكن الوصول إليها خارجيا عبر اسم المجال المؤهل بالكامل (FQDN) ورقم المنفذ المكشوف إذا تم تعيين الدخول إلى "خارجي".

منافذ TCP إضافية

بالإضافة إلى منفذ HTTP/TCP الرئيسي لتطبيقات الحاوية، قد تعرض منافذ TCP إضافية لتمكين التطبيقات التي تقبل اتصالات TCP على منافذ متعددة.

إشعار

تتطلب هذه الميزة استخدام أحدث إصدار معاينة من ملحق CLI لتطبيقات الحاوية.

ينطبق ما يلي على منافذ TCP الإضافية:

  • يمكن أن تكون منافذ TCP الإضافية خارجية فقط إذا تم تعيين التطبيق نفسه على أنه خارجي وكان تطبيق الحاوية يستخدم شبكة ظاهرية مخصصة.
  • يجب أن تكون أي منافذ TCP إضافية مكشوفة خارجيا فريدة عبر بيئة Container Apps بأكملها. يتضمن ذلك جميع منافذ TCP الإضافية الخارجية ومنافذ TCP الرئيسية الخارجية ومنافذ 80/443 المستخدمة من قبل دخول HTTP المضمن. إذا كانت المنافذ الإضافية داخلية، يمكن مشاركة نفس المنفذ من قبل تطبيقات متعددة.
  • إذا لم يتم توفير منفذ مكشوف، تعيين المنفذ المكشوف افتراضيا لمطابقة المنفذ الهدف.
  • يجب أن يكون كل منفذ هدف فريدا، ولا يمكن عرض نفس المنفذ الهدف على منافذ مكشوفة مختلفة.
  • هناك 5 منافذ إضافية كحد أقصى لكل تطبيق. إذا كانت هناك منافذ إضافية مطلوبة، فيرجى فتح طلب دعم.
  • يدعم منفذ الدخول الرئيسي فقط ميزات HTTP المضمنة مثل CORS وترابط الجلسة. عند تشغيل HTTP أعلى منافذ TCP الإضافية، لا يتم دعم هذه الميزات المضمنة.

تفضل بزيارة مقالة كيفية الدخول للحصول على مزيد من المعلومات حول كيفية تمكين منافذ إضافية لتطبيقات الحاوية.

أسماء المجال

يمكنك الوصول إلى تطبيقك بالطرق التالية:

  • اسم المجال المؤهل بالكامل الافتراضي (FQDN): يتم تعيين FQDN تلقائيا لكل تطبيق في بيئة Container Apps استنادا إلى لاحقة DNS الخاصة بالبيئة. لتخصيص لاحقة DNS الخاصة بالبيئة، راجع لاحقة DNS للبيئة المخصصة.
  • اسم مجال مخصص: يمكنك تكوين مجال DNS مخصص لبيئة تطبيقات الحاوية. لمزيد من المعلومات، راجع أسماء المجالات والشهادات المخصصة.
  • اسم التطبيق: يمكنك استخدام اسم التطبيق للاتصال بين التطبيقات في نفس البيئة.

للحصول على FQDN لتطبيقك، راجع الموقع.

قيود IP

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

المصادقة

توفر Azure Container Apps ميزات المصادقة والتخويل المضمنة لتأمين تطبيق الحاوية الخارجي الممكن للدخول. لمزيد من المعلومات، راجع المصادقة والتخويل في Azure Container Apps.

يمكنك تكوين تطبيقك لدعم شهادات العميل (mTLS) للمصادقة وتشفير نسبة استخدام الشبكة. لمزيد من المعلومات، راجع تكوين شهادات العميل.

للحصول على تفاصيل حول كيفية استخدام تشفير الشبكة على مستوى بيئة نظير إلى نظير، راجع نظرة عامة على الشبكات.

تقسيم النقل

تسمح لك تطبيقات الحاويات بتقسيم نسبة استخدام الشبكة الواردة بين المراجعات النشطة. عند تعريف قاعدة تقسيم، يمكنك تعيين النسبة المئوية لنسبة استخدام الشبكة الواردة للانتقال إلى مراجعات مختلفة. لمزيد من المعلومات، راجع تقسيم نسبة استخدام الشبكة.

تقارب الجلسة

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

تبادل الموارد عبر المنشأ (CORS)

بشكل افتراضي، يتم حظر أي طلبات يتم إجراؤها عبر المستعرض من صفحة إلى مجال لا يتطابق مع مجال أصل الصفحة. لتجنب هذا التقييد للخدمات المنشورة في Container Apps، يمكنك تمكين مشاركة الموارد عبر المنشأ (CORS).

لمزيد من المعلومات، راجع تكوين CORS في Azure Container Apps.

الخطوات التالية