פתרון בעיות ביעדים מתארחים

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

הבנייה או הפריסה נכשלו בגלל שחסר package.json

נדרש קובץ package.json בספריית השורש של אפליקציית Node.js. כל ניסיון ליצור או לפרוס פרוקסי ללא קובץ package.json ייכשל בזמן הבנייה.

קבלת שגיאה 502 Bad Gateway משרת Proxy

השגיאה '502 שער שגוי' יכולה להתרחש אם התהליך לא מופעל. כדי לנפות באגים, בודקים את יומני זמן הריצה ומחפשים הודעות שגיאה בזמן ההפעלה. שגיאה נפוצה היא פקודת התחלה חסרה או לא תקינה ב-package.json. לפחות, במאפיין scripts של package.json צריך לציין את "start": "node .". לדוגמה:

{
  "name": "hello-world",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
   "start": "node ."
  },
  "author": "",
  "license": "",
  "description": "Hello World Application",
  "dependencies": {
  }
}

שרת ה-Proxy נתקע ומחזיר שגיאה 504 Gateway Timeout

שגיאה מסוג '504 הזמן שהוקצב לשער חלף' יכולה להתרחש כשאפליקציית היעד של Hosted Targets לא מגיבה במסגרת מגבלת הזמן הקצובה. בודקים שהאפליקציה מאזינה ליציאה שהוגדרה במשתנה הסביבה PORT. אפשר לגשת למשתנה הזה באמצעות process.env.PORT באפליקציה. אפשר גם לבדוק את יומני זמן הריצה כדי לראות אם יש הודעות שגיאה אחרות. אפשר לעיין גם במאמר בנושא משתני סביבה שמוגדרים בזמן הריצה של האפליקציה.

בנוסף, ב-Google App Engine‏ (GAE) יש הגבלת זמן קצוב לתפוגה של 60 שניות לבקשות. אפשר גם לעיין במאמר מכסות ומגבלות במסמכי התיעוד של GAE.

תו לא חוקי בנתיב

אם מופיעה שגיאה דומה לזו שבהמשך כשפורסים שרת proxy עם Hosted Targets, יכול להיות שהסיבה לכך היא ששם ה-proxy מכיל רווח. אסור להשתמש ברווח בשם של שרת proxy עם Hosted Targets.

Illegal character in path at index 69:
https://my-domain.net/organizations/my-org/apps/MD5 Hash/revision/1733635923

npm ERR! rofs EROFS: read-only file system

אפליקציות Hosted Targets פועלות בקונטיינרים באמצעות מערכת קבצים tmpfs. אפליקציית היעד המתארחת יכולה לכתוב רק בספרייה /tmp במערכת הקבצים. לצערנו, גרסאות חדשות יותר של NPM ינסו לכתוב אל /root/.npm בשביל המטמון, היומנים וכו'. כדי לפתור את הבעיה, אפשר לעיין במשימות שינוי מיקום המטמון של NPM או הפעלת האפליקציה בלי NPM.