تكوين الدخول لتطبيقك في Azure Container Apps

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

إعدادات الدخول

يمكنك تعيين خصائص قالب الدخول التالية:

الخاصية ‏‏الوصف القيم المطلوب
allowInsecure يسمح بنسبة استخدام الشبكة غير الآمنة إلى تطبيق الحاوية. عند التعيين إلى true طلبات HTTP إلى المنفذ 80، لا تتم إعادة توجيهها تلقائيا إلى المنفذ 443 باستخدام HTTPS، مما يسمح بالاتصالات غير الآمنة. false (افتراضي)، true يمكن الاتصالات غير الآمنة لا
clientCertificateMode وضع شهادة العميل لمصادقة mTLS. يشير تجاهل إلى أن الخادم يسقط شهادة العميل عند إعادة التوجيه. يشير القبول إلى أن الخادم يقوم بإعادة توجيه شهادة العميل ولكنه لا يتطلب شهادة عميل. يشير Require إلى أن الخادم يتطلب شهادة عميل. Required، ، AcceptIgnore (افتراضي) لا
customDomains روابط المجال المخصصة لأسماء مضيفي تطبيقات الحاوية. راجع المجالات والشهادات المخصصة صفيف من الروابط لا
exposedPort (دخول TCP فقط) المنفذ TCP يستمع. إذا كان external ، trueيجب أن تكون القيمة فريدة في بيئة تطبيقات الحاوية. رقم منفذ من 1 إلى 65535. (لا يمكن أن يكون 80 أو 443) لا
external السماح بالدخول إلى تطبيقك من خارج بيئة Container Apps الخاصة به. true أو false(افتراضي) ‏‏نعم‬
ipSecurityRestrictions قيود دخول IP. راجع إعداد قيود دخول IP صفيف من القواعد لا
stickySessions.affinity تمكين ترابط الجلسة. none (افتراضي)، sticky لا
targetPort المنفذ الذي تستمع إليه الحاوية للطلبات الواردة. قم بتعيين هذه القيمة إلى رقم المنفذ الذي تستخدمه الحاوية. بالنسبة إلى دخول HTTP، يتم عرض نقطة نهاية دخول التطبيق الخاص بك دائما على المنفذ 443. ‏‏نعم‬
traffic تقسم أوزان تقسيم نسبة استخدام الشبكة بين المراجعات. صفيف من القواعد لا
transport نوع بروتوكول النقل. يكتشف auto (افتراضي) HTTP/1 أو HTTP/2، http ل HTTP/1، http2 ل HTTP/2، tcp ل TCP. لا

تمكين الدخول

يمكنك تكوين الدخول لتطبيق الحاوية باستخدام Azure CLI أو قالب ARM أو مدخل Microsoft Azure.

يتيح هذا az containerapp ingress enable الأمر الدخول لتطبيق الحاوية. يجب تحديد المنفذ الهدف، ويمكنك اختياريا تعيين المنفذ المكشوف إذا كان نوع النقل الخاص بك هو tcp.

az containerapp ingress enable \
    --name <app-name> \
    --resource-group <resource-group> \
    --target-port <target-port> \
    --exposed-port <tcp-exposed-port> \
    --transport <transport> \
    --type <external>
    --allow-insecure

az containerapp ingress enable وسيطات الدخول:

الخيار الخاصية ‏‏الوصف القيم المطلوب
--type external السماح بالدخول إلى تطبيقك من أي مكان، أو تقييد الدخول إلى بيئة Container Apps الداخلية الخاصة به. external أو internal ‏‏نعم‬
--allow-insecure allowInsecure السماح باتصالات HTTP بتطبيقك. لا
--target-port منفذ الهدف المنفذ الذي تستمع إليه الحاوية للطلبات الواردة. قم بتعيين هذه القيمة إلى رقم المنفذ الذي تستخدمه الحاوية. يتم عرض نقطة نهاية دخول التطبيق الخاص بك دائمًا على المنفذ 443. ‏‏نعم‬
--exposed-port منفذ مكشوف (دخول TCP فقط) منفذ للدخول TCP. إذا كان external هو true، يجب أن تكون القيمة فريدة في بيئة تطبيقات الحاوية إذا كان الدخول خارجيا. رقم منفذ من 1 إلى 65535. (لا يمكن أن يكون 80 أو 443) لا
--transport نقل نوع بروتوكول النقل. يكتشف auto (افتراضي) HTTP/1 أو HTTP/2، http ل HTTP/1، http2 ل HTTP/2، tcp ل TCP. لا

تمكين الدخول لتطبيق الحاوية باستخدام المدخل.

يمكنك تمكين الدخول عند إنشاء تطبيق الحاوية، أو يمكنك تمكين الدخول لتطبيق حاوية موجود.

  • لتكوين الدخول عند إنشاء تطبيق الحاوية، حدد Ingress من علامة التبويب App Configuration لمعالج إنشاء تطبيق الحاوية.
  • لتكوين الدخول لتطبيق حاوية موجود، حدد Ingress من القائمة الإعدادات لصفحة مورد تطبيق الحاوية.

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

يمكنك تكوين الدخول عند إنشاء تطبيق الحاوية باستخدام مدخل Microsoft Azure.

  1. تعيين الدخول إلى ممكن.
  2. تكوين إعدادات الدخول لتطبيق الحاوية.
  3. حدد Limited to Container Apps Environment للدخول الداخلي أو قبول نسبة استخدام الشبكة من أي مكان للدخول الخارجي.
  4. حدد نوع الدخول: HTTP أو TCP (يتوفر دخول TCP فقط في البيئات التي تم تكوينها باستخدام VNET مخصص).
  5. إذا تم تحديد HTTP لنوع الدخول، فحدد النقل: تلقائي أو HTTP/1 أو HTTP/2.
  6. حدد الاتصالات غير الآمنة إذا كنت تريد السماح باتصالات HTTP بتطبيقك.
  7. أدخل المنفذ الهدف لتطبيق الحاوية.
  8. إذا حددت TCP لخيار النقل، أدخل المنفذ المكشوف لتطبيق الحاوية. يمكن أن يكون 1 رقم المنفذ المكشوف إلى 65535. (لا يمكن أن يكون 80 أو 443)

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

تمكين الدخول لتطبيق الحاوية ingress باستخدام خاصية التكوين. قم بتعيين الخاصية external إلى true، ثم قم بتعيين الخاص بك transport و targetPort .
-external يمكن تعيين الخاصية إلى true ل external أو false للدخول الداخلي.

  • transport قم بتعيين إلى auto للكشف عن HTTP/1 أو HTTP/2، http ل HTTP/1، http2 ل HTTP/2، أو tcp ل TCP.
  • targetPort قم بتعيين إلى رقم المنفذ الذي تستخدمه الحاوية. يتم عرض نقطة نهاية دخول التطبيق الخاص بك دائمًا على المنفذ 443.
  • قم بتعيين الخاصية exposedPort إذا كان نوع النقل إلى tcp منفذ للدخول TCP. يجب أن تكون القيمة فريدة في بيئة Container Apps إذا كان الدخول خارجيا. رقم منفذ من 1 إلى 65535. (لا يمكن أن يكون 80 أو 443)
{
  ...
  "configuration": {
    "ingress": {
        "external": true,
        "transport": "tcp",
        "targetPort": 80,
        "exposedPort": 8080,
    },
  }
}

تعطيل الدخول

تعطيل الدخول لتطبيق الحاوية az containerapp ingress باستخدام الأمر .

az containerapp ingress disable \
    --name <app-name> \
    --resource-group <resource-group> \

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

  1. حدد Ingress من قائمة الإعدادات لصفحة تطبيق الحاوية.
  2. إلغاء تحديد الإعداد تمكين الدخول.
  3. حدد حفظ.

Sceenshot of disabling container app ingress.

قم بتعطيل الدخول لتطبيق الحاوية الخاص بك عن طريق حذف ingress خاصية التكوين من properties.configuration تماما.

استخدام منافذ TCP إضافية

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

إشعار

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

يمكن إضافة منافذ TCP إضافية من خلال CLI عن طريق الرجوع إلى ملف YAML مع تكوينات منفذ TCP.

az containerapp create \
    --name <app-name> \
    --resource-group <resource-group> \
    --yaml <your-yaml-file>

فيما يلي مثال على ملف YAML يمكنك الرجوع إليه في أمر CLI أعلاه. التكوين لمنافذ TCP الإضافية ضمن additionalPortMappings.

location: northcentralus
name: multiport-example
properties:
  configuration:
    activeRevisionsMode: Single
    ingress:
      additionalPortMappings:
      - exposedPort: 21025
        external: false
        targetPort: 1025
      allowInsecure: false
      external: true
      targetPort: 1080
      traffic:
      - latestRevision: true
        weight: 100
      transport: http
  managedEnvironmentId: <env id>
  template:
    containers:
    - image: maildev/maildev
      name: maildev
      resources:
        cpu: 0.25
        memory: 0.5Gi
    scale:
      maxReplicas: 1
      minReplicas: 1
  workloadProfileName: Consumption
type: Microsoft.App/containerApps

هذه الميزة غير معتمدة في مدخل Microsoft Azure.

يوفر قالب ARM التالي مثالا على كيفية إضافة منافذ إضافية إلى تطبيقات الحاوية. يجب إضافة كل منفذ إضافي ضمن additionalPortMappings داخل ingress القسم لداخل configurationproperties لتطبيق الحاوية. وفيما يلي مثال على ذلك:

{
  ...
  "properties": {
    ...
    "configuration": {
      "ingress": {
        ...
        "additionalPortMappings": [
          {
            "external": false
            "targetPort": 80
            "exposedPort": 12000
          }
        ]
      }
    }
  ...
}

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