הפניה לפעולה ולהגדרה של Edge Microgateway

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

Edge Microgateway v. 2.3.x

סקירה כללית

בנושא הזה נסביר איך לנהל ולהגדיר את Edge Microgateway, כולל מעקב, רישום ביומן וניפוי באגים.

ביצוע שינויים בהגדרות

קובצי התצורה שחשוב להכיר:

  • קובץ תצורה של המערכת המוגדר כברירת מחדל
  • קובץ תצורה המוגדר כברירת מחדל למכונת Edge Microgateway חדשה שאותחלה
  • קובץ תצורה דינמי למכונות פועלות

הקטע הזה עוסק בקבצים האלה ובמה שצריך לדעת כדי לשנות אותם. לפרטים על הגדרות של קובץ תצורה, ראו הגדרת Edge Microgateway .

הגדרות ברירת המחדל של המערכת קובץ

כשמתקינים את Edge Microgateway, ימוקם כאן קובץ תצורה של המערכת שמוגדר כברירת מחדל:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

כאשר [prefix] הוא ספריית התחילית npm. למידע נוסף האם אפליקציית Edge Microgateway מותקנת.

אם משנים את קובץ התצורה של המערכת, צריך לאתחל מחדש, להגדיר מחדש ולהפעיל מחדש את Edge. מיקרו-שער:

  1. התקשרות אל edgemicro init
  2. התקשרות אל edgemicro configure [params]
  3. התקשרות אל edgemicro start [params]

קובץ תצורה המוגדר כברירת מחדל למופעי Edge Microgateway חדשים שאותחלו

כאשר מריצים את edgemicro init, קובץ התצורה של המערכת (כפי שמתואר למעלה), default.yaml, ממוקם בספרייה הזו: ~/.edgemicro

אם משנים את קובץ התצורה בטווח של ~/.edgemicro, צריך להגדיר מחדש ולהפעיל מחדש Microsoft Edge Microgateway:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

דינמיות קובץ תצורה למכונות פעילות

כשמריצים את edgemicro configure [params], קובץ התצורה נוצר ב~/.edgemicro. שם הקובץ נקרא כך דפוס: [org]-[env]-config.yaml, כאשר org ו-env הם ארגון Apigee Edge שלך והשמות של הסביבה. אפשר להשתמש בקובץ הזה כדי לבצע שינויים בהגדרות ואז לטעון אותם מחדש עם אפס זמן השבתה. לדוגמה, אם מוסיפים ומגדירים פלאגין, אפשר לטעון מחדש בלי לגרום לזמן השבתה, כפי שמוסבר בהמשך.

אם Edge Microgateway פועל (אפשרות של אפס זמן השבתה):

  1. טוענים מחדש את תצורת Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    כאשר:

    • org הוא שם הארגון שלך ב-Edge (צריך להיות לך מנהל החשבון הארגוני).
    • env הוא סביבה בארגון (כמו בדיקה או מוצר).
    • key הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.
    • secret הוא המפתח שהוחזר בעבר על ידי להגדיר את הפקודה.

    דוגמה

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

אם נעצרת עצירה של Microsoft Edge Microgateway:

  1. מפעילים מחדש את Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    כאשר:

    • org הוא שם הארגון שלך ב-Edge (צריך להיות לך מנהל החשבון הארגוני).
    • env הוא סביבה בארגון (כמו בדיקה או מוצר).
    • key הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.
    • secret הוא המפתח שהוחזר בעבר על ידי להגדיר את הפקודה.

    דוגמה

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

הנה קובץ תצורה לדוגמה. לפרטים על הגדרות של קובץ תצורה: ראו Edge Microgateway הסבר על ההגדרות האישיות.

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

הגדרה של משתני סביבה

פקודות ממשק שורת הפקודה שדורשות ערכים לארגון שלכם ב-Edge והמפתח והסוד שדרושים להפעלת Edge Microgateway אפשר משתני סביבה:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

ההגדרה של המשתנים האלה היא אופציונלית. אם מגדירים אותם, אין צורך לציין את הערכים שלהם כשמשתמשים בממשק שורת הפקודה (CLI) כדי להגדיר ולהפעיל את Edge Microgateway.

הגדרת SSL ב-Ecrogateway של Edge שרת

אפשר להגדיר את שרת ה-Microgateway כך שישתמש ב-SSL. לדוגמה, אם הגדרת SSL, אתה יכול יכולים לקרוא ל-API דרך Edge Microgateway באמצעות ה-"https" למשל:

https://localhost:8000/myapi

כדי להגדיר SSL בשרת Microgateway, מבצעים את השלבים הבאים:

  1. יוצרים או משיגים אישור ומפתח SSL באמצעות הכלי openssl או בכל שיטה שרוצים.
  2. צריך להוסיף את המאפיין edgemicro:ssl ל-Edge Microgateway קובץ תצורה. רשימה מלאה של האפשרויות מופיעה בטבלה שבהמשך. לפרטים על כדי לשנות את ההגדרות של Edge Microgateway, עיינו במאמר ביצוע שינויים בהגדרות אישיות. לדוגמה:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
  3. מפעילים מחדש את Edge Microgateway. פועלים לפי השלבים שמפורטים בקטע ביצוע שינויים בהגדרות האישיות בהתאם קובץ התצורה שערכתם: קובץ ברירת המחדל או קובץ התצורה של סביבת זמן הריצה.

הנה דוגמה לקטע endmicro של קובץ התצורה, שבו מוגדר SSL:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

רשימה של כל אפשרויות השרתים הנתמכים:

אפשרות תיאור
key נתיב לקובץ ca.key (בפורמט PEM).
cert נתיב לקובץ ca.cert (בפורמט PEM).
pfx נתיב לקובץ pfx שמכיל את המפתח הפרטי, האישור ו אישורי CA של הלקוח בפורמט PFX.
passphrase מחרוזת שמכילה את ביטוי הסיסמה של המפתח הפרטי או של PFX.
ca נתיב לקובץ שמכיל רשימה של אישורים מהימנים בפורמט PEM.
ciphers מחרוזת שמתארת את הצפנים שבהם צריך להשתמש ומפרידים ביניהם באמצעות ":".
rejectUnauthorized אם True, אישור השרת יאומת מול רשימת רשויות ה-CA שסופקו. אם המיקום האימות נכשל, תוחזר שגיאה.
secureProtocol שיטת ה-SSL שבה צריך להשתמש. לדוגמה, SSLv3_method לאלץ את ה-SSL לגרסה 3.
servername שם השרת עבור תוסף TLS מסוג SNI (Server Name Indication).

שימוש באפשרויות SSL/TLS של לקוח

אפשר להגדיר את Edge Microgateway כלקוח TLS או SSL כשמתחברים ליעד נקודות קצה (endpoints). בקובץ התצורה של Microgateway, משתמשים ברכיב היעדים כדי להגדיר SSL/TLS (אבטחת שכבת התעבורה) אפשרויות.

בדוגמה הזו מפורטות הגדרות שיחולו על כל המארחים:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

בדוגמה הזו, ההגדרות חלות רק על המארח שצוין:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

לפניכם דוגמה ל-TLS:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

רשימה של כל האפשרויות הנתמכות ללקוח:

אפשרות תיאור
pfx נתיב לקובץ pfx שמכיל את המפתח הפרטי, האישור ו אישורי CA של הלקוח בפורמט PFX.
key נתיב לקובץ ca.key (בפורמט PEM).
passphrase מחרוזת שמכילה את ביטוי הסיסמה של המפתח הפרטי או של PFX.
cert נתיב לקובץ ca.cert (בפורמט PEM).
ca נתיב לקובץ שמכיל רשימה של אישורים מהימנים בפורמט PEM.
ciphers מחרוזת שמתארת את הצפנים שבהם צריך להשתמש ומפרידים ביניהם באמצעות ":".
rejectUnauthorized אם True, אישור השרת יאומת מול רשימת רשויות ה-CA שסופקו. אם המיקום האימות נכשל, תוחזר שגיאה.
secureProtocol שיטת ה-SSL שבה צריך להשתמש. לדוגמה, SSLv3_method לאלץ את ה-SSL לגרסה 3.
servername שם השרת עבור תוסף TLS מסוג SNI (Server Name Indication).

שימוש בשירות אימות בהתאמה אישית

כברירת מחדל, דפדפן Edge Microgateway משתמש בשרת proxy שנפרס ב-Apigee Edge לאימות OAuth2. שרת ה-proxy הזה נפרס כשמריצים את edgemicro configure בפעם הראשונה. כברירת מחדל, כתובת ה-URL של שרת ה-proxy הזה מצוינת בקובץ התצורה של Edge Microgateway כך:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

אם רוצים להשתמש בשירות מותאם אישית לצורך טיפול באימות, צריך לשנות את ההגדרה הזו הערך authUri בקובץ התצורה שמפנה לשירות שלכם. עבור למשל, ייתכן שיש לך שירות המשתמש ב-LDAP לאימות זהות.

ניהול קובצי יומן

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

איפה נשמרים קובצי היומן

כברירת מחדל, קובצי יומן נשמרים ב-/var/tmp.

איך משנים את יומן ברירת המחדל ספריית קבצים

הספרייה שבה מאוחסנים קובצי היומן מצוינת בהגדרות האישיות של Edge Microgateway חדש. לפרטים על ביצוע שינויים בהגדרות, ראו ביצוע שינויים בהגדרות אישיות.

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

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

שליחת יומנים למסוף

אפשר להגדיר רישום ביומן כך שפרטי היומן יישלחו לפלט רגיל במקום קובץ יומן. מגדירים את הדגל to_console כ-TRUE באופן הבא:

edgemicro:
  logging:
    to_console: true  

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

איך להגדיר את רמת הרישום ביומן

אתם יכולים להגדיר את הרמות הבאות ביומן: info, אזהרה, ושגיאה. רמת המידע מומלצת. הוא רושם את כל בקשות ה-API ביומן תשובות, וזו ברירת המחדל.

איך משנים את פרקי הזמן ביומן

אפשר להגדיר את המרווחים האלה בקובץ התצורה של Edge Microgateway. לפרטים על ייצור שינויים בתצורה, ראה ביצוע הגדרות אישיות .

המאפיינים שאפשר להגדיר הם:

  • stats_log_interval: (ברירת מחדל: 60) מרווח, בשניות, כשהנתונים הסטטיסטיים נכתבת בקובץ היומן של ה-API.
  • rotate_interval: (ברירת המחדל: 24) מרווח בשעות, כשקובצי היומן סובבו. לדוגמה:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

הערה: קובצי יומן שהועברו לארכיון אינם דחוסים. כשהמרווח מתחיל, קובץ יומן חדש נוצר עם חותמת זמן חדשה.

טובה שיטות תחזוקה של קובצי יומן

ככל שנתוני קובץ היומן יצטברו עם הזמן, Apigee ממליצה לאמץ את שיטות:

  • מכיוון שקובצי יומן יכולים להיות גדולים למדי, חשוב לוודא שספריית קובצי היומן מספיק מקום. אפשר לעיין בקטעים הבאים: איפה נשמרים קובצי יומן ואיך לשנות את קובץ היומן שמוגדר כברירת מחדל שלנו.
  • מומלץ למחוק או להעביר קובצי יומן לספריית ארכיון נפרדת לפחות פעם בשבוע.
  • אם המדיניות שלכם היא למחוק יומנים, אתם יכולים להשתמש בפקודה edgemicro log -c ב-CLI כדי להסיר יומנים ישנים יותר (נקיים).

המוסכמה למתן שמות לקובצי יומן

כל מכונה של Edge Microgateway יוצרת שלושה סוגים של קובצי יומן:

  • api - רישום כל הבקשות והתשובות שעוברים דרך Edge ביומן מיקרו-שער. בקובץ הזה נרשמים גם מונהים (נתונים סטטיסטיים) ושגיאות של API.
  • err – רישום כל מה שנשלח אל stderr.
  • out – רישום כל מה שנשלח אל stdout.

זוהי המוסכמה למתן שמות:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

לדוגמה:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

מידע על תוכן של קובצי יומן

נוסף בגרסה: 2.3.3

כברירת מחדל, שירות הרישום ביומן משמיט את קובץ ה-JSON של שרתי proxy, מוצרים ו-JSON שהורדתם אסימון אינטרנט (JWT). כדי ליצור פלט של האובייקטים לקובצי היומן, מגדירים DEBUG=* כשמפעילים את Edge Microgateway. לדוגמה:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

התוכן של ה-API קובץ יומן

ממשק ה-API קובץ יומן שמכיל מידע מפורט על רצף הבקשות והתשובות דרך Edge Microgateway. ממשק ה-API קובצי יומן נקראים כך:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

בכל בקשה שנשלחת ל-Edge Microgateway, מתועדים ארבעה אירועים ב-'api'. יומן file:

  • בקשה נכנסת מהלקוח
  • בקשה יוצאת אל היעד
  • תגובה נכנסת מהיעד
  • תגובה יוצאת ללקוח

כל אחד מהערכים הנפרדים האלו מיוצג בסימון קצר כדי לסייע ליצור את היומן קבצים יותר קומפקטיים. הנה ארבע ערכים לדוגמה שמייצגים כל אחד מארבעת האירועים. ביומן הן נראות כך (מספרי השורות מיועדים רק להתייחסות במסמך, הם לא מופיעים בקובץ היומן).

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

נבחן אותן אחת אחרי השנייה:

1. דוגמה של בקשה נכנסת מהלקוח:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 – חותמת תאריך של יוניקס
  • info – תלוי בהקשר. יכול להיות מידע, אזהרה או שגיאה, בהתאם לרמת היומן. יכול להיות נתונים סטטיסטיים לרשומת נתונים סטטיסטיים, להצגת אזהרה לגבי אזהרות, או לאיתור שגיאות.
  • req – מזהה את האירוע. במקרה כזה, מבקשים הלקוח.
  • m – פועל ה-HTTP שנעשה בו שימוש בבקשה.
  • u – החלק בכתובת ה-URL שמופיע אחרי הנתיב הבסיסי.
  • h – המארח ומספר היציאה שבהם Edge Microgateway הוא בהאזנה.
  • r – המארח המרוחק והיציאה שממנה הלקוח מבקש נוצרה.
  • i – מזהה הבקשה. כל ארבע רשומות האירועים יחלקו את המזהה הזה. כל אחד לבקשה מוקצה מזהה בקשה ייחודי. קורלציה של רשומות יומן לפי מזהה בקשה יכולה לתת תובנות חשובות לגבי זמן האחזור של היעד.
  • d – משך הזמן באלפיות השנייה מאז שהבקשה התקבלה על ידי Microsoft Edge Microgateway. בדוגמה שלמעלה, התקבלה התגובה של היעד לבקשה 0. אחרי 7 אלפיות השנייה (שורה 3), והתגובה נשלחה ללקוח אחרי 4 אלפיות השנייה (שורה 4). במילים אחרות, זמן האחזור הכולל של הבקשה היה 11 אלפיות השנייה, אילו 7 אלפיות השנייה נלקחו על ידי היעד ו-4 אלפיות השנייה על ידי Edge Microgateway עצמו.

2. דוגמה לבקשה יוצאת שנשלחה אל היעד:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 – חותמת תאריך של יוניקס
  • info – תלוי בהקשר. יכול להיות מידע, אזהרה או שגיאה, בהתאם לרמת היומן. יכול להיות נתונים סטטיסטיים לרשומת נתונים סטטיסטיים, להצגת אזהרה לגבי אזהרות, או לאיתור שגיאות.
  • treq – מזהה את האירוע. במקרה הזה, יעד הבקשה.
  • m – פועל ה-HTTP שנעשה בו שימוש בבקשת היעד.
  • u – החלק בכתובת ה-URL שמופיע אחרי הנתיב הבסיסי.
  • h - המארח ומספר היציאה של יעד הקצה העורפי.
  • i – המזהה של הרשומה ביומן. כל ארבעת האירועים ישתפו את הקישור הזה ID.

3. דוגמה של תשובה נכנסת מהיעד

1436403888672 info tres s=200, d=7, i=0

1436403888651 – חותמת תאריך של יוניקס

  • info – תלוי בהקשר. יכול להיות מידע, אזהרה או שגיאה, בהתאם לרמת היומן. יכול להיות נתונים סטטיסטיים לרשומת נתונים סטטיסטיים, להצגת אזהרה לגבי אזהרות, או לאיתור שגיאות.
  • tres – מזהה את האירוע. במקרה הזה, יעד תגובה.
  • s – הסטטוס של תגובת ה-HTTP.
  • d – משך הזמן באלפיות השנייה. הזמן שלקח לקריאה ל-API על ידי היעד.
  • i – המזהה של הרשומה ביומן. כל ארבעת האירועים ישתפו את הקישור הזה ID.

4. דוגמה של תשובה יוצאת ללקוח

1436403888676 info res s=200, d=11, i=0

1436403888651 – חותמת תאריך של יוניקס

  • info – תלוי בהקשר. יכול להיות מידע, אזהרה או שגיאה, בהתאם לרמת היומן. יכול להיות נתונים סטטיסטיים לרשומת נתונים סטטיסטיים, להצגת אזהרה לגבי אזהרות, או לאיתור שגיאות.
  • res – מזהה את האירוע. במקרה הזה, התגובה הלקוח.
  • s – הסטטוס של תגובת ה-HTTP.
  • d – משך הזמן באלפיות השנייה. זהו משך הזמן הכולל באמצעות הקריאה ל-API, כולל הזמן שנדרש ל-API המטורגט והזמן שלוקח ל-Edge ה-Microgateway עצמה.
  • i – המזהה של הרשומה ביומן. כל ארבעת האירועים ישתפו את הקישור הזה ID.

תזמון קובץ יומן

קובצי היומן עוברים רוטציה לפי המרווח שנקבע על ידי התצורה rotate_interval . הרשומות ימשיכו להתווסף לאותו קובץ יומן עד למרווח הרוטציה בתוקף עד. עם זאת, בכל פעם ש-Edge Microgateway מופעלת מחדש, הוא מקבל UID חדש ויוצר קבוצה חדשה של קובצי יומן עם ה-UID הזה. כדאי לעיין גם במאמר שיטות עבודה טובות לתחזוקה של קובצי יומן.

הגדרת קצה Microgateway הפניה

המיקום של קובץ תצורה

מאפייני ההגדרות שמתוארים בקטע הזה נמצאים ב-Edge Microgateway קובץ תצורה. לפרטים על ביצוע שינויים בהגדרות, ראו ביצוע שינויים בהגדרות אישיות.

מאפייני dge_config

ההגדרות האלה משמשות לקביעת האינטראקציה בין מכונת Edge Microgateway Apigee Edge.

  • shoestrap: (ברירת מחדל: none) כתובת URL שמפנה אל Edge שירות ספציפי ל-Microgateway שפועל ב-Apigee Edge. חברת Edge Microgateway משתמשת בשירות הזה כדי לתקשר עם Apigee Edge. כתובת ה-URL הזו מוחזרת כשמריצים את הפקודה כדי ליצור את זוג מפתחות ציבורי/פרטי: edgemicro genkeys. ראו את ההגדרות להגדרה והגדרה של Edge Microgateway.
  • jwt_public_key: (ברירת מחדל: ללא) כתובת URL שמפנה אל Edge Microgateway שרת proxy שנפרס ב-Apigee Edge. שרת ה-proxy הזה משמש כנקודת קצה לאימות עבור הנפקת אסימוני גישה חתומים ללקוחות. כתובת ה-URL הזו מוחזרת כשמריצים את הפקודה כדי לפרוס את שרת ה-proxy: edgemicro configuration. ראו את ההגדרות להגדרה והגדרה של Edge Microgateway.

מאפייני dgemicro

ההגדרות האלה מגדירות את תהליך Microsoft Edge Microgateway.

  • port: (ברירת מחדל: 8000) מספר היציאה שבה ה-Edge Microgateway הוא תהליך האזנה.
  • max_connections: (ברירת מחדל: 1-) מציין את המספר המקסימלי של חיבורים נכנסים ש-Edge Microgateway יכולים לקבל בו-זמנית. אם המספר הזה הוא חורגת מהסטטוס הזה, מוחזר הסטטוס הבא:

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (ברירת מחדל: 1-) המספר המקסימלי של קישורים בו-זמנית היא בקשות ש-Edge Microgateway יכולה לקבל לפני השבתת החיבור. ההגדרה הזו נועד למנוע התקפות מניעת שירות (DoS). בדרך כלל, מגדירים אותו למספר גדול מ- max_connections.
  • רישום ביומן:
    • level: (ברירת המחדל: שגיאה)
      • info - רישום כל הבקשות והתשובות שעוברות דרך מכונת Edge Microgateway.
      • אזהרה – נרשמים ביומן רק הודעות אזהרה.
      • error – רק הודעות שגיאה ביומנים.
    • dir: (ברירת מחדל: /var/tmp) הספרייה שבה קובצי היומן נמצאים .
    • stats_log_interval: (ברירת מחדל: 60) מרווח, בשניות, כשהנתונים הסטטיסטיים נכתבת בקובץ היומן של ממשק ה-API.
    • rotate_interval: (ברירת המחדל: 24) מרווח בשעות, כשקובצי היומן סובבו.
  • dir: נתיב יחסי מספריית ה- ./gateway אל או נתיב מוחלט.
  • sequence: רשימה של מודולים של יישומי פלאגין להוספה ל-Edge Microgateway. מכונה. המודולים יופעלו לפי הסדר שבו הם צוינו כאן.
  • ניפוי באגים: הוספת ניפוי באגים מרחוק לתהליך Microgateway של Edge.
    • port: מספר היציאה להאזנה. לדוגמה, הגדרת כלי לניפוי באגים בסביבת פיתוח משולבת (IDE) כדי להאזין בשקע הזה.
    • args: ארגומנטים לתהליך ניפוי הבאגים. לדוגמה: args --nolazy
  • config_change_poll_interval: (ברירת מחדל: 600 שניות) Edge Microgateway טוען תצורה חדשה מדי פעם ומבצע טעינה מחדש אם משהו השתנה. הקלפיות אוסף את כל השינויים שבוצעו ב-Edge (שינויים במוצרים, שרתי proxy שתומכים במיקרו-שער וכו') בתור ושינויים שבוצעו בקובץ התצורה המקומי.
  • disable_config_poll_interval: (ברירת המחדל: false) Set ל-true כדי להשבית את השינוי האוטומטי עריכת סקרים.

מאפייני כותרות

ההגדרות האלה קובעות איך יטופלו כותרות HTTP מסוימות.

  • x-Forwarded-for: (ברירת מחדל: true) יש להגדיר ל-false כדי למנוע העברה באמצעות X לכותרות שיועברו ליעד.
  • x-Forwarded-host: (ברירת מחדל: true) מוגדר ל-false כדי למנוע כותרות של מארח x להעברה שיועברו ליעד.
  • x-request-id: (ברירת מחדל: true) יש להגדיר ל-false כדי למנוע כותרות x-request-id שיועברו ליעד.
  • x-response-time: (ברירת המחדל: true) יש להגדיר את הערך false כדי למנוע כותרות x-response-time שיועברו ליעד.
  • via: (ברירת מחדל: true) מוגדר ל-false כדי למנוע מהכותרות להיות מועברים ליעד.

מאפייני oauth

ההגדרות האלה קובעות את האופן שבו אימות הלקוח ייאכף על ידי Edge Microgateway.

  • allowNoAuthorization: (ברירת המחדל: false) אם המדיניות מוגדרת כ-True, קריאות ל-API מורשים לעבור דרך Edge Microgateway בלי כותרת הרשאה בכלל. הגדרת הערך false כדי לדרוש כותרת הרשאה (ברירת מחדל).
  • allowInvalidAuthorization: (ברירת המחדל: false) אם המדיניות מוגדרת כ-True, הקריאות ל-API יהיו מורשה לעבור אם האסימון שהועבר בכותרת ההרשאה לא חוקי או שהתוקף שלו פג. הגדרה ל-false כדי לדרוש אסימונים חוקיים (ברירת מחדל).
  • authorization-header: (ברירת המחדל: Authorization: Bearer) הכותרת שבה נעשה שימוש שולחים את אסימון הגישה ל-Edge Microgateway. מומלץ לשנות את ברירת המחדל במקרים שבהם היעד צריך להשתמש בכותרת Authorization למטרות אחרות.
  • api-key-header: (ברירת המחדל: x-api-key) שם הכותרת או השאילתה משמש להעברת מפתח API ל-Edge Microgateway. מידע נוסף זמין במאמר שימוש במפתח API.
  • keepAuthHeader: (ברירת מחדל: false) אם המדיניות מוגדרת כ-True, הכותרת Authorization הבקשה מועברת ליעד (היא נשמרת).

ספציפי לפלאגין מאפיינים

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

סינון שרתי proxy

אתם יכולים לסנן את שרתי ה-proxy שתומכים ב-microgateway מכונת Edge Microgateway תעבד. כשאפליקציית Edge Microgateway מופעלת, היא מורידה את כל שרתי ה-proxy שתומכים ב-microgateway ב- הארגון שאליו הוא משויך. השתמשו בתצורה הבאה כדי להגביל את שרתי ה-proxy השער המיקרופיין יעבור עיבוד. לדוגמה, התצורה הזו מגבילה את שרתי ה-proxy שנמצאים ב-microgateway יעובד לשלוש ערכים: edgemicro_proxy-1, edgemicro_proxy-2, וגם edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

אנונימיזציה של נתוני ניתוח

ההגדרות הבאות מונעות הצגה של פרטי נתיב הבקשה ב-Edge ב-Analytics. צריך להוסיף את הרכיבים הבאים לתצורת המיקרו-שער כדי לבצע אנונימיזציה של ה-URI של הבקשה ו/או נתיב הבקשה. שימו לב שה-URI מורכב משם המארח ומחלקי הנתיב של הבקשה.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

ניפוי באגים ו פתרון בעיות

מתבצעת התחברות לכלי לניפוי באגים

אפשר להריץ את Edge Microgateway באמצעות כלי לניפוי באגים, כמו node-inspector. האפשרות הזאת שימושית במקרים פתרון בעיות וניפוי באגים ביישומי פלאגין מותאמים אישית.

  1. במצב ניפוי באגים צריך להפעיל מחדש את Edge Microgateway. כדי לעשות זאת, צריך להוסיף את DEBUG=* אל ההתחלה של הפקודה start. לדוגמה:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
  2. מפעילים את הכלי לניפוי באגים ומגדירים אותו להאזין למספר היציאה לתהליך ניפוי הבאגים.
  3. עכשיו אפשר לעבור דרך הקוד של Edge Microgateway, להגדיר נקודות עצירה, הבעות צפייה, וכן הלאה.

תוכלו לציין דגלים רגילים של Node.js שקשורים למצב ניפוי באגים. לדוגמה, בעזרת --nolazy אפשר לנפות באגים בקוד אסינכרוני.

קובצי היומן בבדיקה

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

שימוש באבטחה של מפתח API

מפתחות API מספקים מנגנון פשוט לאימות לקוחות ששולחים בקשות ל-Edge מיקרו-שער. כדי לקבל מפתח API אפשר להעתיק את הערך של מפתח הצרכן (שנקרא גם Client ID) ממוצר של Apigee Edge שכולל את שרת ה-proxy לאימות של Edge Microgateway.

שמירה של המפתחות במטמון

מפתחות ה-API מוחלפים באסימונים למוכ"ז, שנשמרים במטמון. אפשר להשבית שמירה במטמון על ידי הגדרה הכותרת Cache-Control: no-cache בבקשות נכנסות ל-Edge מיקרו-שער.

הפתרון הנדרש אם אתם משתמשים ב-Apigee ענן פרטי של Edge גרסה 15.07

כדי להשתמש באבטחת מפתח API ב-Edge Private Cloud 15.07, צריך להטמיע את הפתרון החלופי שמתואר כאן. כדי לעקוף את הבעיה, צריך לשנות שורה אחת בקובץ Node.js שרת ה-proxy edgemicro-auth ומפעילים מחדש את Edge Microgateway.

שימוש בפתרון החלופי בממשק המשתמש של Edge

כדי לבצע את הפעולה הזו, צריך להריץ מחדש את הפקודה endmicro start. כשתסיימו.

  1. בממשק המשתמש של Edge, פותחים את שרת ה-Proxy של קצה מיקרו-אימות בעורך שרת ה-proxy.
  2. לוחצים על הכרטיסייה 'פיתוח'.
  3. בכלי הניווט, בקטע 'סקריפטים', פותחים את קובץ ה-JavaScript שנקרא verify-api-key.js.
  4. מעבר לשורה 109:

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  5. מחליפים את החלק שאחרי 'api_product_list:' באמצעות קידוד קשיח מערך של המוצר שמות שמשויכים למפתחות API שבהם רוצים להשתמש. לדוגמה, אם אתם רוצים להשתמש במפתח מאפליקציה של פיתוח שבה מופיע "Product-1" ו-'Product-2' ואז לכתוב את הקוד שורה כזו:

    api_product_list: ["Product-1", "Product-2"]
  6. לוחצים על 'שמירה'.
  7. מפעילים את הפקודה dgemicro start.

הטמעה בבסיס הקוד המקומי של Edge Microgateway

כדי לבצע את התהליך הזה יש להריץ מחדש את פקודת ההגדרה של ה-Endmicro, ולאחר מכן Endmicro start.

  1. פותחים את קובץ <microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js, כאשר <microgateway-root-dir> הוא הספרייה שבה Edge Microgateway הותקנה כשהרצתם את הפקודה npm install.
  2. מעבר לשורה 109:

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  3. מחליפים את החלק שאחרי 'api_product_list:' באמצעות קידוד קשיח מערך של המוצר שמות שמשויכים למפתחות API שבהם רוצים להשתמש. לדוגמה, אם אתם רוצים להשתמש במפתח מאפליקציה של פיתוח שבה מופיע "Product-1" ו-'Product-2' ואז לכתוב את הקוד שורה כזו:

    api_product_list: ["Product-1", "Product-2"]
  4. שומרים את הקובץ.
  5. מפעילים את הפקודה dgemicro configuration. (או להגדיר את dgemicro private אם אתם משתמשים בענן פרטי של Edge.) הפקודה הזו פורסת מחדש את שרת ה-proxy ל-Endmicro-auth.
  6. מפעילים את הפקודה dgemicro start.

שימוש באבטחת אסימון OAuth2

לפרטים על שימוש באסימון OAuth עם בקשות לשרת proxy, ראו אבטחה Microsoft Edge Microgateway.

שימוש מפתח API

לפרטים על שימוש במפתחות API עם בקשות לשרת proxy, ראו אבטחה Microsoft Edge Microgateway.

הגדרת השם של מפתח ה-API

כברירת מחדל, x-api-key הוא השם שמשמש לכותרת של מפתח ה-API או לשאילתה שלו הפרמטר. אפשר לשנות את ברירת המחדל הזו בקובץ התצורה, כמו שמוסבר במאמר ביצוע שינויים בהגדרות האישיות. עבור לדוגמה, כדי לשנות את השם ל-apiKey:

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey