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

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

פיתוח/פריסה נכשל כי חסר package.json

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

קבלת קוד 502 Bad Gateway מ-Proxy

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

{
  "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' יכולה לקרות כשאפליקציית היעד של היעדים המתארחים לא מגיבה במסגרת מגבלת הזמן הקצוב לתפוגה. צריך לוודא שהאפליקציה מאזינה ביציאה שהוגדרה במשתנה הסביבה PORT. אפשר לגשת למשתנה הזה באמצעות הפקודה process.env.PORT באפליקציה. אחרת, אפשר לבדוק אם יש הודעות שגיאה אחרות ביומני זמן הריצה. ראו גם סביבה משתנים שמוגדרים בזמן הריצה של האפליקציה.

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

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

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

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

npm ERR! rofs EROFS: מערכת קבצים לקריאה בלבד

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