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

בדף הזה תוכלו למצוא תשובות לשאלות נפוצות בנושא 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 יכול להיות שתוצג לסירוגין השגיאה 'לא נמצאה גרסת build והיא לא תקינה' במהלך יצירת קצה עורפי.
  • כל ה-backends באותו פרויקט משתפים ארגון או חשבון ב-GitHub. אפשר לקשר אותם למאגרי מידע שונים בארגון או בחשבון. כדי ליצור קצה עורפי שמחובר לחשבונות שונים ב-GitHub, צריך להוסיף אותם לפרויקטים נפרדים.

מגבלות ופתרון בעיות באפליקציית Angular

התמיכה של App Hosting ב-Angular נמצאת בשלבי פיתוח והיא מתרחבת, אבל יש לה את המגבלות הבאות:

  • I18n: למרות שפונקציונליות הליבה של I18n פועלת, ניווט ישיר לדפי SSR עלול לגרום לשגיאות.
  • לוקליזציה: אין תמיכה ביצירת גרסאות עבור לוקאלים שונים.
  • כלי בנייה: כרגע יש תמיכה רק בכלי לבניית אפליקציות.
  • סביבות וכלים לניהול Monorepo: פרויקטים של Angular שיש להם יותר מיעד אפליקציה אחד ייכשלו. כדי לקבל תמיכה מלאה יותר ב-monorepo, כדאי להשתמש ב-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 כדי להתקין את הגרסה האחרונה של תיקון (patch) לגרסת Angular הנוכחית.
    • הגדרה ידנית: כדי להחיל חזרה להגדרה ברמת הקוד, צריך להגדיר את trustProxyHeaders: true בהגדרות השרת (מידע נוסף זמין במאמר הגדרת כותרות של שרת proxy מהימן במסמכי Angular).
  • Angular v22: יכול להיות שהגרסה הראשונה ב-backend חדש תחזיר שגיאות 400. כדי לפתור את הבעיה, צריך ליצור עוד גרסת build. כל הגרסאות הבאות אמורות לפעול כמצופה.

הגבלות ופתרון בעיות ב-Next.js

  • כברירת מחדל, התכונה המובנית של NextJS לאופטימיזציה של תמונות מושבתת ב-App Hosting, אלא אם מגדירים במפורש את images.unoptimized כ-false או משתמשים בImage Loader בהתאמה אישית.מידע נוסף זמין במאמר בנושא אופטימיזציה של טעינת תמונות ב-Next.js.
  • נתיבי כתובות URL שמכילים תווים עם קידוד של אחוזים מפוענחים על ידי Cloud Run. הדבר עלול לגרום לבעיות בתכונות שמצפות רק לנתיבי URL מוצפנים, כמו ניתוב מקביל ב-Next.js.
  • בשלב הזה, App Hosting מגביל את השמירה במטמון של אפליקציות NextJS באמצעות תוכנת ביניים. עם הזמן, שיעורי ההיט במטמון צפויים להשתפר.
  • מערכת Cloud Run מפענחת נתיבי כתובות URL שמכילים תווים שמקודדים באחוזים. יכול להיות שזה יגרום לבעיות בתכונות שמצפות רק לנתיבי כתובות URL מקודדים, כמו ניתוב מקביל ב-Next.js