تكوين الدخول لتطبيقك في Azure Container Apps
توضح لك هذه المقالة كيفية تمكين ميزات الدخول لتطبيق الحاوية. الدخول هو إعداد على مستوى التطبيق. تنطبق التغييرات على إعدادات الدخول على جميع المراجعات في وقت واحد، ولا تنشئ مراجعات جديدة.
إعدادات الدخول
يمكنك تعيين خصائص قالب الدخول التالية:
الخاصية | الوصف | القيم | المطلوب |
---|---|---|---|
allowInsecure |
يسمح بنسبة استخدام الشبكة غير الآمنة إلى تطبيق الحاوية. عند التعيين إلى true طلبات HTTP إلى المنفذ 80، لا تتم إعادة توجيهها تلقائيا إلى المنفذ 443 باستخدام HTTPS، مما يسمح بالاتصالات غير الآمنة. |
false (افتراضي)، true يمكن الاتصالات غير الآمنة |
لا |
clientCertificateMode |
وضع شهادة العميل لمصادقة mTLS. يشير تجاهل إلى أن الخادم يسقط شهادة العميل عند إعادة التوجيه. يشير القبول إلى أن الخادم يقوم بإعادة توجيه شهادة العميل ولكنه لا يتطلب شهادة عميل. يشير Require إلى أن الخادم يتطلب شهادة عميل. | Required ، ، Accept Ignore (افتراضي) |
لا |
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.
- تعيين الدخول إلى ممكن.
- تكوين إعدادات الدخول لتطبيق الحاوية.
- حدد Limited to Container Apps Environment للدخول الداخلي أو قبول نسبة استخدام الشبكة من أي مكان للدخول الخارجي.
- حدد نوع الدخول: HTTP أو TCP (يتوفر دخول TCP فقط في البيئات التي تم تكوينها باستخدام VNET مخصص).
- إذا تم تحديد HTTP لنوع الدخول، فحدد النقل: تلقائي أو HTTP/1 أو HTTP/2.
- حدد الاتصالات غير الآمنة إذا كنت تريد السماح باتصالات HTTP بتطبيقك.
- أدخل المنفذ الهدف لتطبيق الحاوية.
- إذا حددت 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> \
يمكنك تعطيل الدخول لتطبيق الحاوية باستخدام المدخل.
- حدد 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
القسم لداخل configuration
properties
لتطبيق الحاوية. وفيما يلي مثال على ذلك:
{
...
"properties": {
...
"configuration": {
"ingress": {
...
"additionalPortMappings": [
{
"external": false
"targetPort": 80
"exposedPort": 12000
}
]
}
}
...
}