אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
מבוא
במהלך פתרון בעיות, יכול להיות שתרצו להפעיל ממשקי API ישירות מול רכיבי Apigee, כמו נתב או מעבד הודעות. לדוגמה, יכול להיות שתרצו לעשות את זה כדי:
- ניפוי באגים בבעיות לסירוגין בבקשות API מסוימות שמצביעות על בעיה ברכיב Apigee מסוים (נתב או מעבד הודעות).
- כדי לאסוף פרטי אבחון נוספים, מפעילים את מצב ניפוי הבאגים במופע ספציפי של רכיב Apigee.
- מוודאים שהבעיה לא נגרמת מרכיב ספציפי של Apigee.
- לבדוק אם לפעולות כמו יצירת מופע חדש או הפעלה מחדש של המופע יש את ההשפעה הרצויה.
דרישות מוקדמות
- גישה ישירה לרכיבי הנתב או מעבד ההודעות שצריך להריץ מולם בקשות API.
- צריך להתקין את הכלי cURL במופע הספציפי של הרכיב.
בקשת ה-API שרוצים לבדוק בפורמט cURL.
לדוגמה, הנה פקודת
curlשאפשר להשתמש בה כדי לשלוח בקשה ל-proxy ל-API מהמחשב המקומי:curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'curl https://myorg-test.mycompany.com/v1/customers
איך מריצים בקשות API ישירות מול נתבים של Apigee
תרחיש 1: בקשות API לכינוי מארח שמפנה לנתבים
אם רשומת ה-DNS של הכינוי למארח מוגדרת להפניה לנתבים של Apigee Edge (במילים אחרות, אין איזון עומסים גמיש (ELB)), אפשר להשתמש בפקודות curl הבאות כדי לשלוח את בקשות ה-API ישירות לנתב:
מארח וירטואלי שהוגדר לתקשורת לא מאובטחת דרך יציאה 80
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'לדוגמה:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'המארח הווירטואלי מוגדר להפסקת SSL ביציאה 443 בנתב
curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'לדוגמה:
curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
תרחיש 2: בקשות API לשם מארח חלופי שמפנה ל-ELB
אם רשומת ה-DNS של הכינוי של המארח מוגדרת להצביע על Elastic Load Balancer (ELB), אפשר להשתמש בפקודות curl הבאות כדי לשלוח את בקשות ה-API ישירות לנתב:
מארח וירטואלי שהוגדר לתקשורת לא מאובטחת דרך יציאה 80
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'לדוגמה:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'מארח וירטואלי שהוגדר ליציאה גבוהה ו-SSL מסתיים במאזן עומסים לפני נתב Apigee
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'לדוגמה:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'מארח וירטואלי שהוגדר ליציאה גבוהה ו-SSL מסתיים בנתב Apigee
במילים אחרות, מאזן העומסים מוגדר להשתמש בהעברת TCP לנתב Apigee.
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'לדוגמה:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
איך מריצים בקשות ישירות מול מעבדי הודעות של Apigee
תרחיש 1: בקשת API למעבד ההודעות דרך יציאת ברירת המחדל 8998
יציאה 8998 היא יציאת ברירת המחדל שבה מעבד ההודעות מאזין לתנועה מהנתב של Apigee. לכן, בכל המקרים שבהם היציאה הזו לא שונתה, התנועה צריכה להישלח ישירות ליציאה הזו במופע ספציפי של מעבד הודעות, כמו בדוגמה הבאה. צריך לשלוח את בקשת ה-curl לכתובת ה-URL http://INTERNAL_IP_OF_MP:8998 יחד עם הכותרת X-Apigee.Host עם שם המארח, כולל היציאה שמשמשת את המארחים הווירטואליים, כמו שמוצג בשלוש הדוגמאות הבאות:
המארח הווירטואלי מוגדר לסיום SSL בנתב
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'לדוגמה:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'המארח הווירטואלי מוגדר ל'יציאה גבוהה' וסיום ה-SSL מתרחש במאזן עומסים או בנתב Apigee:
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'לדוגמה:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'המארח הווירטואלי מוגדר ליציאת ברירת המחדל של HTTP, שהיא 80
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'לדוגמה:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
תרחיש 2: בקשת API למעבד הודעות דרך יציאת SSL 8443
אפשר להגדיר תקשורת SSL בין הנתב לבין מעבד ההודעות. בדוגמאות הבאות נעשה שימוש ביציאה 8443, שהיא היציאה שמומלצת בתיעוד של Apigee.
המארח הווירטואלי מוגדר לסיום SSL בנתב
curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'לדוגמה:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'מארח וירטואלי מוגדר לסיום SSL במאזן עומסים, והתנועה מועברת ליציאה גבוהה לנתב
curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'לדוגמה:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'