مشاركة عبر


الدخول في 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 الخاصة بالعميل و/أو الوكلاء الوسيطين الذين أرسلوا الطلب. عناوين IP الخاصة بالمرسلين. إذا تم تحديده في الطلب الأولي ، يتم إلحاقه ب. يتم توفير عنوان IP الموجود في أقصى اليمين فقط بواسطة Azure Container Apps. يجب التحقق من صحة أي قيم أخرى من قبل المستخدم لمنع انتحال IP.
X-Forwarded-Client-Cert شهادة العميل إذا clientCertificateMode تم تعيينها. قائمة مفصولة بفواصل منقوطة من التجزئة والشهادات والسلسلة. على سبيل المثال: Hash=....;Cert="...";Chain="...";. يتم استبدال هذه القيمة إذا تم إرسالها بواسطة العميل.

TCP

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

إشعار

يتم دعم دخول TCP الخارجي فقط لبيئات Container Apps التي تستخدم شبكة ظاهرية.

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

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

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

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

إشعار

لاستخدام هذه الميزة، يجب أن يكون لديك ملحق CLI لتطبيقات الحاوية. قم بتشغيل az extension add -n containerapp لتثبيت أحدث إصدار من ملحق CLI لتطبيقات الحاوية.

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

  • يمكن أن يكون المزيد من منافذ TCP خارجية فقط إذا تم تعيين التطبيق نفسه على أنه خارجي ويستخدم تطبيق الحاوية شبكة ظاهرية.

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

  • إذا لم يتم توفير منفذ مكشوف، تعيين المنفذ المكشوف افتراضيا لمطابقة المنفذ الهدف.

  • يجب أن يكون كل منفذ هدف فريدا، ولا يمكن عرض نفس المنفذ الهدف على منافذ مكشوفة مختلفة.

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

  • يدعم منفذ الدخول الرئيسي فقط ميزات HTTP المضمنة مثل CORS وترابط الجلسة. عند تشغيل HTTP أعلى منافذ TCP الإضافية، لا يتم دعم هذه الميزات المضمنة.

  • رقم 36985 المنفذ محجوز لعمليات التحقق من الصحة الداخلية ولا يتوفر لتطبيقات TCP أو المنافذ المكشوفة الإضافية على تطبيقات HTTP.

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

أسماء المجال

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

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

  • اسم مجال مخصص: يمكنك تكوين مجال DNS مخصص لبيئة تطبيقات الحاوية. لمزيد من المعلومات، راجع أسماء المجالات والشهادات المخصصة.

  • اسم التطبيق: يمكنك استخدام اسم التطبيق للاتصال بين التطبيقات في نفس البيئة.

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

قيود IP

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

المصادقة

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

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

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

تقسيم النقل

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

تقارب الجلسة

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

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

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

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

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