"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يحصل تطبيق My React على خطأ CORS عند الوصول إلى واجهة برمجة التطبيقات للنطاق الفرعي: \"فشل الوصول إلى النطاق الفرعي من المجال الرئيسي: لا \'Access-Control-Allow-Origin\'\"؟

لماذا يحصل تطبيق My React على خطأ CORS عند الوصول إلى واجهة برمجة التطبيقات للنطاق الفرعي: \"فشل الوصول إلى النطاق الفرعي من المجال الرئيسي: لا \'Access-Control-Allow-Origin\'\"؟

تم النشر بتاريخ 2024-12-23
تصفح:668

Why Does My React App Get a CORS Error When Accessing a Subdomain API: \

فهم أخطاء CORS: "فشل الوصول إلى المجال الفرعي من المجال الرئيسي: لا يوجد" التحكم في الوصول - السماح بالأصل ""

مشاركة الموارد عبر الأصل (CORS) هي آلية تسمح للمجالات المختلفة بالتفاعل مع بعضها البعض. عندما يعمل خادم API على نطاق فرعي ويعمل تطبيق React على النطاق الرئيسي، يمكن أن تحدث أخطاء CORS، مثل "فشل الوصول إلى النطاق الفرعي من النطاق الرئيسي: لا يوجد خطأ 'Access-Control-Allow-Origin'".

التحقيق في المشكلة

فحص طلب الاختبار المبدئي في Chrome DevTools للتحقق من الاستجابات المخزنة مؤقتًا وطلبات الاختبار المبدئي. قم بتنفيذ طلب الاختبار المبدئي باستخدام أداة مثل الضفيرة، مع تذكر إضافة خيار -i لإخراج رؤوس الاستجابة.

تحليل الحالة

  • الحالة 1: هذا يستخدم هذا النهج تكوين CORS الافتراضي، والذي يمكّن أصل حرف البدل. ومع ذلك، يكشف الاختبار أنه يعمل بشكل صحيح.
  • الحالة 2 : تخصيص الأصول والأساليب والرؤوس المسموح بها أثبت أيضًا نجاحه.
  • الحالة 3 : يعد التعامل مع رؤوس CORS يدويًا حلاً آخر قابلاً للتطبيق.

حل المشكلة المشكلة

التكوين الخاطئ في المجموعة المستهدفة لـ AWS Load Balancer (استنادًا إلى حل OP)

كان السبب الجذري لهذه المشكلة تحديدًا هو التكوين الخاطئ في المجموعة المستهدفة لـ AWS Load Balancer. تم ضبط بروتوكول المجموعة المستهدفة على HTTPS على الرغم من عدم توفير شهادات SSL المناسبة. أدى تصحيح البروتوكول إلى حل المشكلة.

نصائح التصحيح

  • تعطيل التخزين المؤقت في Chrome DevTools لتجنب استجابات الاختبار المبدئي المخزنة مؤقتًا.
  • أرسل طلبات الاختبار المبدئي مباشرةً إلى خدمتك للتخلص منها تداخل محتمل للوكيل.
  • اطبع المخزن المؤقت للطلب (على سبيل المثال، باستخدام httputil.DumpRequest) لتصحيح الأخطاء الأغراض.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3