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