שאלות נפוצות ופתרון בעיות

בדף הזה מופיעות תשובות לשאלות נפוצות (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