שגיאה פנימית בפורטל המפתחים

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

תיאור הבעיה

אירעה שגיאה בזמן שליחת בקשת API בזמן אמת באמצעות SmartDocs מפורטל המפתחים.

הודעות שגיאה

השגיאה הנפוצה שמופיעה בפורטל למפתחים היא An internal error has occurred. צריך לנסות לשלוח את הבקשה שוב".

סיבות אפשריות

השגיאה הזו יכולה להתרחש אם Developer Portal לא מצליח לקבל תגובה מהבק-אנד (smartdocs proxy או נקודת הקצה בפועל).

אבחון

מפעילים את האפשרות 'כלים למפתחים' בדפדפן ובודקים את הכרטיסייה 'רשת' כדי לזהות את השגיאה בפועל.

בטבלה הבאה מפורטות שגיאות נפוצות והסיבות האופייניות להן:

שגיאה

סיבות אופייניות

ERR_NAME_NOT_RESOLVED

הגדרת ה-proxy של SmartDocs שגויה או שיש הגבלות של חומת האש ברשת

תוכן מעורב

הפורטל מוגדר באמצעות HTTPS, הבקשה ל-SmartDocs מוגדרת באמצעות HTTP

‫500 – שגיאת שרת פנימית

בואו נבדוק כל אחד מהגורמים האלה בנפרד ונציג את השלבים לפתרון הבעיה.

הגדרות ה-proxy של SmartDocs הוגדרו בצורה שגויה או שיש הגבלות של חומת האש ברשת

ההודעה ERR_NAME_NOT_RESOLVED מציינת שכתובת ה-URL של שרת ה-proxy של smartdocs לא מוגדרת בצורה נכונה, או שהרשת שממנה מתבצעת הגישה לפורטל לא יכולה לבצע קריאה לכתובת ה-URL של שרת ה-proxy של smartdocs בגלל הגבלות של חומת האש. צריכה להיות גישה לשרת ה-proxy של smartdocs מהאינטרנט או מהרשת הפנימית (לממשקי API פנימיים).

רזולוציה

כדי לוודא שאפשר לגשת ל-smartdocs proxy מכל הרשתות הנדרשות, צריך לפרוס את ה-smartdocs proxy למארח וירטואלי ב-Edge עם שם מארח שאפשר לגשת אליו מהאינטרנט.

הפורטל מוגדר באמצעות HTTPS, הבקשה ל-SmartDocs מוגדרת באמצעות HTTP

השגיאה Mixed Content (תוכן מעורב) מציינת שמתבצעת קריאה לשרת ה-proxy של SmartDocs דרך HTTP מדף שנטען דרך HTTPS.

רזולוציה

כדי לפתור את הבעיה, צריך לחשוף את ה-proxy של SmartDocs דרך HTTPS. כדי לעשות זאת, צריך לפרוס את ה-proxy של smartdocs כדי לכלול מארח וירטואלי שמוגדר לשימוש ב-TLS/SSL (בדרך כלל המארח הווירטואלי 'מאובטח').

שרת ה-Proxy של SmartDocs מחזיר חריגה

ההודעה 500 - שגיאת שרת פנימית יכולה להיגרם בגלל בעיה בשרת ה-proxy של smartdocs. במקרה כזה, תשימו לב ששרת ה-proxy של smartdocs מחזיר את השגיאה הזו.

אבחון

כדי לאבחן שגיאות בשרת ה-proxy של smartdocs, אפשר להשתמש בכלי Trace, כפי שמתואר בהמשך. מידע נוסף זמין במאמר בנושא שימוש בכלי Trace.

  1. מפעילים את האפשרות 'מעקב' עבור ה-Proxy‏ smartdocs בארגון VALIDATE כדי לאתר את המדיניות הספציפית שמחזירה את השגיאה '500 שגיאת שרת פנימית'.

  1. בוחרים את המדיניות הספציפית במעקב כדי לזהות את הגורם לשגיאה.

רזולוציה

מתקנים את השגיאה שזוהתה. אם אתם צריכים עזרה, אתם יכולים לפנות אל התמיכה של Apigee Edge.

מעבדי בקשות של Edge לא יכולים לקרוא לנקודת קצה ל-API שפורסם

‫500 – שגיאת שרת פנימית יכולה להתרחש גם כשמעבדי ההודעות ששייכים לארגון שמארח את ה-proxy של Smartdocs לא מצליחים לקרוא לנקודת קצה ל-API.

אבחון

כדי לאבחן שגיאות בשרת ה-proxy של smartdocs, אפשר להשתמש בכלי Trace, כפי שמתואר בהמשך. מידע נוסף זמין במאמר בנושא שימוש בכלי Trace.

  1. מפעילים את trace עבור ה-proxy‏ smartdocs בארגון VALIDATE כדי לאתר את המדיניות הספציפית שמחזירה את השגיאה 500 Internal Server Error.

  1. במעקב אחר ממשק המשתמש שמוצג למעלה, אפשר לראות שמדיניות JavaScript‏ BuildTargetAPIRequest לא מצליחה להפעיל את כתובת ה-URL של היעד.
  1. קבלת כתובת ה-URL של היעד ממדיניות JavaScript “BuildTargetAPIRequest”.
  1. מבצעים קריאה ישירה לכתובת ה-URL מהצמתים של מעבד ההודעות שמשויכים לארגון VALIDATE, כמו שמוצג בהמשך:
    curl -v <target URL>
  1. מתקנים את השגיאה.

רזולוציה

  1. מוודאים שאפשר להפעיל ממשקי API שפורסמו בפורטל למפתחים ממעבדי הודעות שמשויכים לארגון VALIDATE, ומתקנים את השגיאות שנתקלים בהן.
  1. אם אתם מצליחים להריץ את הקריאה ל-API ישירות ממעבד ההודעות, סביר מאוד שתוכלו להריץ את ה-API גם דרך SmartDocs.
  1. מריצים את קריאת ה-API דרך SmartDocs ובודקים אם הבעיה נפתרה.