تكوين مشاركة الموارد عبر المنشأ (CORS) لتطبيقات حاوية Azure

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

توضح لك هذه المقالة كيفية تمكين CORS وتكوينه في تطبيق الحاوية.

أثناء تمكين CORS، يمكنك تكوين الإعدادات التالية:

الإعدادات الشرح
السماح ببيانات الاعتماد يشير إلى ما إذا كان يجب إرجاع Access-Control-Allow-Credentials الرأس أم لا.
MAX AGE تكوين عنوان الاستجابة Access-Control-Max-Age للإشارة إلى المدة (بالثوان) التي يمكن تخزين نتائج طلب CORS قبل الرحلة مؤقتا.
الأصول المسموح بها قائمة الأصول المسموح بها للطلبات عبر المنشأ (على سبيل المثال، https://www.contoso.com). يتحكم في Access-Control-Allow-Origin رأس الاستجابة. استخدم * للسماح بالكل.
الطرق المسموح بها قائمة أساليب طلب HTTP المسموح بها في الطلبات عبر المنشأ. يتحكم في Access-Control-Allow-Methods رأس الاستجابة. استخدم * للسماح بالكل.
العناوين الرأسية المسموح بها قائمة بالعناوين المسموح بها في الطلبات عبر المنشأ. يتحكم في Access-Control-Allow-Headers رأس الاستجابة. استخدم * للسماح بالكل.
كشف الرؤوس بشكل افتراضي، لا يتم عرض جميع عناوين الاستجابة للتعليمات البرمجية JavaScript من جانب العميل في طلب عبر المنشأ. الرؤوس المكشوفة هي خوادم عناوين إضافية يمكن تضمينها في الاستجابة. يتحكم في Access-Control-Expose-Headers رأس الاستجابة. استخدم * لكشف الكل.
الخاصية الشرح النوع
allowCredentials يشير إلى ما إذا كان يجب إرجاع Access-Control-Allow-Credentials الرأس أم لا. boolean
maxAge تكوين عنوان الاستجابة Access-Control-Max-Age للإشارة إلى المدة (بالثوان) التي يمكن تخزين نتائج طلب CORS قبل الرحلة مؤقتا. integer
allowedOrigins قائمة الأصول المسموح بها للطلبات عبر المنشأ (على سبيل المثال، https://www.contoso.com). يتحكم في Access-Control-Allow-Origin رأس الاستجابة. استخدم * للسماح بالكل. صفيف سلاسل
allowedMethods قائمة أساليب طلب HTTP المسموح بها في الطلبات عبر المنشأ. يتحكم في Access-Control-Allow-Methods رأس الاستجابة. استخدم * للسماح بالكل. صفيف سلاسل
allowedHeaders قائمة بالعناوين المسموح بها في الطلبات عبر المنشأ. يتحكم في Access-Control-Allow-Headers رأس الاستجابة. استخدم * للسماح بالكل. صفيف سلاسل
exposeHeaders بشكل افتراضي، لا يتم عرض جميع عناوين الاستجابة للتعليمات البرمجية JavaScript من جانب العميل في طلب عبر المنشأ. الرؤوس المكشوفة هي خوادم عناوين إضافية يمكن تضمينها في الاستجابة. يتحكم في Access-Control-Expose-Headers رأس الاستجابة. استخدم * لكشف الكل. صفيف سلاسل

لمزيد من المعلومات، راجع مرجع مجموعة عمل تقنية تطبيق النص التشعبي على الويب (WHATWG) على استجابات HTTP الصالحة من طلب إحضار.

تمكين CORS وتكوينه

  1. انتقل إلى تطبيق الحاوية في مدخل Microsoft Azure.

  2. ضمن قائمة الإعدادات، حدد CORS.

    Screenshot showing how to enable CORS in the Azure portal.

مع تمكين CORS، يمكنك إضافة قيم الأصول المسموح بها والأساليب المسموح بها والرؤوس المسموح بها وكشف الرؤوس وتحريرها وحذفها.

للسماح بأي قيم مقبولة للأساليب أو الرؤوس أو الأصول، أدخل * كقيمة.

إشعار

التحديثات إلى إعدادات التكوين عبر سطر الأوامر الكتابة فوق الإعدادات الحالية. تأكد من دمج الإعدادات الحالية في أي قيم CORS جديدة تريد تعيينها لضمان بقاء التكوين متناسقا.

تمثل التعليمات البرمجية التالية النموذج الذي تأخذه إعدادات CORS في قالب ARM عند تكوين تطبيق الحاوية.

{ 
  ... 
  "properties": { 
      ... 
      "configuration": { 
         ... 
          "ingress": { 
              ... 
              "corsPolicy": { 
                "allowCredentials": true,
                "maxAge": 5000,
                "allowedOrigins": ["https://example.com"], 
                "allowedMethods": ["GET","POST"], 
                "allowedHeaders": [], 
                "exposeHeaders": []
              } 
          } 
      } 
  } 
}

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