בדף הזה מופיעות תשובות לשאלות נפוצות (FAQ) לגבי App Hosting.
שאלות נפוצות על App Hosting
מגבלות כלליות של App Hosting ופתרון בעיות
בגלל בעיה בתשתית של Cloud Run, יכול להיות שבאזורים מסוימים כמו
us-central1, יצירה או עדכון של משאבים יהיו איטיים מהצפוי. אם זמן האחזור של הפריסה הוא בעיה באזור מסוים, Google ממליצה לפרוס באזור אחר.רשת ה-CDN של App Hosting יכולה לכלול רק קבוצה ספציפית של כותרות בקשה במפתחות המטמון שלה. הרשימה כוללת:
כותרות Next.js:
RSC,Next-Router-State-Tree,Next-Router-Prefetch,Next-Router-Segment-Prefetchו-Next-Url.כותרות סטנדרטיות של Cloud CDN:
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.
שימו לב: אם התגובה מכילה כותרת
Varyעם ערך שלא מופיע כאן, רשת ה-CDN לא תשמור אותה במטמון.קבצים סטטיים שלא נשמרו במטמון מוצגים מ-Cloud Run. בגרסה מאוחרת יותר, הם יאוחסנו ויוצגו מהמקור App Hosting כדי לשפר את הביצועים.
יכול להיות שבמסוף Firebase תוצג מדי פעם השגיאה "build was not found and is invalid" במהלך יצירת הקצה העורפי.
כל ה-backends באותו פרויקט משתפים ארגון או חשבון ב-GitHub. אפשר לקשר אותם למאגרים שונים באותו ארגון או חשבון. כדי ליצור קצוות עורפיים שמחוברים לחשבונות GitHub שונים, צריך לשים אותם בפרויקטים נפרדים.
מגבלות ופתרון בעיות באפליקציות Angular
למרות שהתמיכה של App Hosting ב-Angular נמצאת בפיתוח ומתרחבת, יש לה את המגבלות הבאות:
- I18n: הפונקציונליות הבסיסית של I18n פועלת, אבל ניווט ישיר לדפי SSR עלול לגרום לשגיאות.
- לוקליזציה: אין תמיכה ביצירת גרסאות ללוקאלים שונים.
- כלים לבניית אפליקציות: בשלב הזה יש תמיכה רק בכלי לבניית אפליקציות.
- סביבות וכלים של Monorepo: פרויקטים של Angular שיש להם יותר מיעד אחד של אפליקציה ייכשלו. כדי לקבל תמיכה מלאה יותר במונוריפו, השתמשו ב-Nx.
שגיאות HTTP 400 ואמון בשרת proxy ב-Angular SSR
אם באפליקציית Angular שפרסתם ב-Firebase App Hosting מופיעות שגיאות HTTP 400 (בקשה שגויה), חסימות של אימות מארח או כשלים באמון בשרת proxy, כדאי לפעול לפי הפתרון המומלץ לגרסת Angular שלכם:
- Angular בגרסאות 19, 20 ו-21: יש שתי דרכים לפתור את שגיאות ה-HTTP 400 האלה:
- שדרוג יחסי התלות: מריצים את
npm update @angular/core @angular/ssrכדי להתקין את גרסת התיקון האחרונה של גרסת Angular הנוכחית. - הגדרה ידנית: כדי להחיל הגדרת ברירת מחדל ברמת הקוד, מגדירים את
trustProxyHeaders: trueבהגדרות השרת (ראו הגדרת כותרות של שרתי proxy מהימנים במסמכי התיעוד של Angular).
- שדרוג יחסי התלות: מריצים את
- Angular גרסה 22: יכול להיות שה-build הראשון בקצה עורפי חדש יחזיר שגיאות 400. כדי לפתור את הבעיה, צריך ליצור גרסה שנייה. כל הגרסאות הבאות אמורות לפעול כמו שצריך.
מגבלות ופתרון בעיות ב-Next.js
- כברירת מחדל, האופטימיזציה המובנית של תמונות ב-NextJS מושבתת ב-App Hosting, אלא אם מגדירים במפורש את
images.unoptimizedכ-false או משתמשים בטוען תמונות בהתאמה אישית. איך משפרים את טעינת התמונות ב-Next.js - כברירת מחדל, Next.js כותב דפים ונתונים שנשמרו במטמון למערכת הקבצים, והם נכללים בזיכרון של כל מכונה שמציגה ב-App Hosting. אם המכונות מופעלות מחדש עם שגיאות
Memory limit exceeded, עיינו במאמר הגדרת שמירה במטמון בשרת ב-Next.js. - נכון לעכשיו, App Hosting מגביל את השמירה במטמון של אפליקציות NextJS באמצעות תווך. עם הזמן, שיעורי המציאה במטמון אמורים להשתפר.
- נתיבי כתובות URL שמכילים תווים שמקודדים באחוזים מפוענחים על ידי Cloud Run. זה עלול לגרום לבעיות בתכונות שמצפות רק לנתיבי כתובות URL מקודדים, כמו ניתוב מקביל של Next.js.