تقدّم هذه الصفحة إجابات عن الأسئلة الشائعة حول App Hosting.
App Hosting الأسئلة الشائعة
الحدود القصوى العامة وخطوات تحديد المشاكل وحلّها في App Hosting
- بسبب مشكلة في البنية الأساسية Cloud Run، قد تستغرق عملية إنشاء الموارد أو تعديلها وقتًا أطول من المتوقع في بعض المناطق، مثل
us-central1. إذا كان تأخّر النشر يمثّل مشكلة في منطقة معيّنة، تنصح Google بالنشر في منطقة أخرى. - يمكن أن تتضمّن شبكة توصيل المحتوى (CDN) الخاصة بـ App Hosting مجموعة محدّدة فقط من عناوين الطلبات في مفاتيح ذاكرة التخزين المؤقت. تتضمّن هذه القائمة عناوين
RSCوNext-Router-State-TreeوNext-Router-PrefetchوNext-Router-Segment-PrefetchوNext-Urlمن NextJS، بالإضافة إلى العناوين العاديةAcceptوAccept-EncodingوAccess-Control-Request-HeadersوAccess-Control-Request-MethodوOriginوSec-Fetch-DestوSec-Fetch-ModeوSec-Fetch-SiteوX-Goog-Allowed-ResourcesوX-Originمن Cloud CDN. إذا كان الرد يتضمّن عنوانVaryبقيمة غير مُدرَجة هنا، لن يخزّنه شبكة توصيل المحتوى (CDN) مؤقتًا. - يتم عرض الملفات الثابتة غير المخزَّنة مؤقتًا من Cloud Run، وسيتم تخزينها وعرضها من مصدر App Hosting في إصدار لاحق لتحسين الأداء.
- قد تعرض وحدة تحكّم Firebase بشكل متقطع الخطأ "لم يتم العثور على الإصدار وهو غير صالح" عند إنشاء الخلفية.
- تتشارك جميع الخلفيات في المشروع نفسه مؤسسة/حساب GitHub. ويمكن ربطها بمستودعات مختلفة ضمن تلك المؤسسة أو الحساب. لإنشاء أنظمة خلفية مرتبطة بحسابات مختلفة على GitHub، ضَعها في مشاريع منفصلة.
قيود تطبيق Angular وتحديد المشاكل وحلّها
على الرغم من أنّ دعم App Hosting في Angular قيد التطوير والتوسيع بشكل نشط، إلا أنّه يتضمّن القيود التالية:
- التدويل (I18n): على الرغم من أنّ وظائف التدويل الأساسية تعمل، قد يؤدي الانتقال المباشر إلى صفحات العرض من جهة الخادم (SSR) إلى حدوث أخطاء.
- تحديد الموقع الجغرافي: لا يمكن إنشاء إصدارات لمواقع جغرافية مختلفة.
- أدوات الإنشاء: لا تتوفّر حاليًا سوى أداة إنشاء التطبيقات.
- البيئات وأدوات Monorepo: ستتعذّر مشاريع Angular التي تستهدف أكثر من تطبيق واحد. للحصول على دعم أكثر اكتمالاً للمستودعات الأحادية، استخدِم Nx.
أخطاء HTTP 400 وثقة الخادم الوكيل في العرض من جهة الخادم في Angular
إذا كان تطبيق Angular الذي تم نشره على Firebase App Hosting يواجه أخطاء HTTP 400 (طلب غير صالح) أو أدوات حظر التحقّق من المضيف أو حالات تعذُّر إثبات صحة الوكيل، اتّبِع الحلّ المقترَح لإصدار Angular الذي تستخدمه:
- Angular الإصدارات 19 و20 و21: لديك طريقتان لحلّ أخطاء HTTP 400:
- ترقية التبعيات: شغِّل
npm update @angular/core @angular/ssrلتثبيت أحدث إصدار من رمز التصحيح لإصدار Angular الحالي. - الإعداد اليدوي: طبِّق عملية احتياطية للإعداد على مستوى الرمز من خلال ضبط
trustProxyHeaders: trueفي إعدادات الخادم (راجِع إعداد عناوين الخادم الوكيل الموثوق به في مستندات Angular).
- ترقية التبعيات: شغِّل
- Angular الإصدار 22: قد يؤدي الإصدار الأول على خادم خلفي جديد إلى عرض أخطاء 400. لحلّ المشكلة، أنشئ إصدارًا ثانيًا. يجب أن تعمل جميع الإصدارات اللاحقة على النحو المطلوب.
القيود المفروضة على Next.js وتحديد المشاكل وحلّها
- يتم تلقائيًا إيقاف ميزة تحسين الصور المضمّنة في NextJS على App Hosting ما لم تضبط
images.unoptimizedعلى false بشكل صريح أو تستخدم أداة تحميل صور مخصّصة. اطّلِع على تحسين تحميل الصور على Next.js. - في الوقت الحالي، يفرض App Hosting قيودًا على التخزين المؤقت لتطبيقات NextJS التي تستخدم البرامج الوسيطة. بمرور الوقت، من المفترض أن تتحسّن معدّلات الوصول إلى البيانات المخزّنة مؤقتًا.
- تفكّ Cloud Run ترميز مسارات عناوين URL التي تحتوي على أحرف مرمّزة بنسبة مئوية. وقد يؤدي ذلك إلى حدوث مشاكل في الميزات التي تتوقّع مسارات عناوين URL مرمّزة فقط، مثل التوجيه المتوازي في Next.js.