אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
תיאור הבעיה
ב-Edge for the Private Cloud, כשעוקבים אחרי API בממשק המשתמש של Edge, מוצגת תגובת HTTP 304 בעמודה Status בחלון המעקב:

הודעות שגיאה
אין הודעות שגיאה – הקריאה ל-proxy ל-API מחזירה תגובה של הצלחה, כמו HTTP 200. עם זאת, בחלון המעקב בממשק המשתמש של Edge מוצגת תגובת HTTP 304 ולא נאספים נתוני מעקב.
גורמים אפשריים
ב-Edge לענן פרטי, ממשק המשתמש של Edge מנסה לעקוב אחרי proxy ל-API שאליו ניגשים באמצעות כתובת IP פרטית.
כלי המעקב בממשק המשתמש של Edge יכול לשלוח בקשת API לכל כתובת URL. בתרחיש פריסה שבו ממשק המשתמש של Edge מתארח יחד עם שירותים פנימיים אחרים, משתמש זדוני עלול להשתמש לרעה בכלי המעקב כדי לשלוח בקשות לשירותים דרך כתובת IP פרטית, כמו localhost או 127.0.0.1.
בסביבת ייצור, בדרך כלל משאירים את ברירת המחדל כמו שהיא כדי למנוע ממשתמשים לאתר כתובת IP פרטית. לדוגמה, כך מתבצע הפריסה של הגרסה הציבורית של ממשק המשתמש של Edge.
עם זאת, בסביבת פיתוח או בדיקה פנימית, אפשר לבטל את ברירת המחדל הזו כדי לאפשר למפתחי ה-API לעקוב אחרי כל כתובת IP. בדרך כלל, סביבת פיתוח או בדיקה נמצאת מאחורי חומת אש שלא מאפשרת גישה ציבורית.
הערה: השיטה המומלצת היא להשאיר את ברירת המחדל כמו שהיא כדי למנוע גישה למעקב לכתובות IP פרטיות, גם בסביבת פיתוח או בדיקה, אלא אם נתקלים במצב שבו צריך להפעיל אותה.
הסיבה: ניסיון לגשת ל-proxy ל-API דרך כתובת IP פרטית
כברירת מחדל, ממשק המשתמש של Edge ב-Edge for the Private Cloud מונע ממשתמשים לעקוב אחרי קריאות ל-API שמתבצעות דרך כתובות IP פרטיות. הרשימה של כתובות IP פרטיות כוללת:
- כתובת לולאה חוזרת (127.0.0.1 או localhost)
- כתובות מקומיות לאתר (ל-IPv4 – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- כל כתובת מקומית (כל כתובת שמובילה ל-localhost)
לדוגמה, פקודת ה-curl הבאה מבצעת קריאה ל-proxy ל-API באמצעות כתובת IP 127.0.0.1, שנחשבת לכתובת IP פרטית:
curl http://127.0.0.1:9001/myapiproxy
בחלון המעקב של הקריאה הזו, מוצגת תגובה מסוג HTTP 304 גם אם פקודת ה-curl החזירה הצלחה.
רזולוציה
כדי להפעיל את ממשק המשתמש של Edge כדי לעקוב אחרי כתובות IP פרטיות ב-Edge for the Private Cloud, מגדירים את האסימון הבא ב-ui.properties:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
כדי להגדיר את המאפיין הזה:
- פותחים את הקובץ
ui.propertiesבכלי לעריכה. אם הקובץ לא קיים, צריך ליצור אותו.
vi /opt/apigee/customer/application/ui.properties
- מגדירים את המאפיינים הבאים לערך true:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
- שומרים את השינויים ב-
ui.properties. - מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש apigee:
chown apigee:apigee /opt/apigee/customer/application/ui.properties
- מפעילים מחדש את ממשק המשתמש של Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
מעכשיו אפשר לגשת לכתובות IP פרטיות בכלי המעקב בממשק המשתמש של Edge.
כדי להשבית בהמשך את האפשרות בממשק המשתמש לעקוב אחרי בקשות דרך כתובות IP פרטיות, צריך לערוך את ui.properties ולהגדיר את המאפיין ל-false, ואז להפעיל מחדש את ממשק המשתמש של Edge.
מסמכים קשורים (אופציונלי)
מידע נוסף זמין במאמר בנושא מתן גישה לממשק המשתמש של Edge לכתובות IP מקומיות.