مرجع التشغيل والضبط لطريق Edge Microgateway

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

Edge Microgateway الإصدار 3.0.x

يناقش هذا الموضوع كيفية إدارة بوابة Edge Microgateway وتهيئتها.

ترقية Edge Microgateway إذا كان لديك اتصال بالإنترنت

يوضح هذا القسم كيفية ترقية التثبيت الحالي لـ Edge Microgateway. وإذا كنت تعمل بدون اتصال بالإنترنت، فراجع هل يمكنني تثبيت Edge Microgateway بدون الاتصال بالإنترنت؟

تنصحك Apigee باختبار الإعدادات الحالية باستخدام على الإصدار الجديد قبل ترقية بيئة الإنتاج.

  1. نفِّذ أمر npm التالي للترقية إلى أحدث إصدار من Edge مدخل مصغّر:
    npm upgrade edgemicro -g

    للترقية إلى إصدار معين من Edge Microgateway، يلزمك تحديد الإصدار number في أمر الترقية. إذا لم تحدد رقم الإصدار، فسيتم سيتم تثبيت أحدث إصدار. على سبيل المثال، للترقية إلى الإصدار 3.0.2، استخدم الأمر التالي:

    npm upgrade edgemicro@3.0.2 -g
  2. تحقَّق من رقم الإصدار. على سبيل المثال، في حال تثبيت الإصدار 3.0.2:
    edgemicro --version
    current nodejs version is v12.5.0
    current edgemicro version is 3.0.2
        
  3. أخيرًا، عليك الترقية إلى أحدث إصدار من الخادم الوكيل edgemicro-auth:
    edgemicro upgradeauth -o org_name -e env_name -u username

إجراء تغييرات على الإعدادات

تتضمن ملفات التهيئة التي تحتاج إلى معرفتها ما يلي:

  • ملف إعداد النظام التلقائي
  • ملف الإعداد التلقائي لمثيل Edge Microgateway الذي تم إعداده حديثًا
  • ملف الإعداد الديناميكي لمثيلات التشغيل

يناقش هذا القسم هذه الملفات وما تحتاج إلى معرفته حول تغييرها.

ضبط النظام التلقائي الملف

عند تثبيت Edge Microgateway، يتم وضع ملف تهيئة نظام افتراضي هنا:

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

حيث prefix هو دليل البادئة npm. عرض أين تم تثبيت Edge Microgateway إذا لم تتمكّن من تحديد موقع هذا الدليل.

في حال تغيير ملف إعدادات النظام، يجب إعادة إعداد شبكة Edge وإعادة ضبطها ثم إعادة تشغيلها. مدخل مصغّر:

edgemicro init
edgemicro configure [params]
edgemicro start [params]

ملف الإعداد التلقائي لمثيلات Edge Microgateway التي تم إعدادها حديثًا

عند تشغيل edgemicro init، ملف تهيئة النظام (الموضح أعلاه)، default.yaml، في دليل ~/.edgemicro.

إذا غيّرت ملف الإعداد في ~/.edgemicro، عليك إعادة الضبط ثم إعادة التشغيل. بوابة Edge Microgateway:

edgemicro stop
edgemicro configure [params]
edgemicro start [params]

ديناميكية ملف إعداد لمثيلات التشغيل

عند تشغيل edgemicro configure [params]، يتم عرض تم إنشاء ملف إعداد في ~/.edgemicro. تتم تسمية الملف وفقًا لهذا النمط: org-env-config.yaml، حيث تتضمن org env هي أسماء المؤسسات والبيئات في Apigee Edge يمكنك استخدام هذا الملف لإجراء إعدادات ثم إعادة تحميلها دون توقف. على سبيل المثال، إذا قمت بإضافة مكوّن إضافي وإعداده، يمكنك إعادة تحميل الإعدادات بدون إيقاف أي فترات توقف عن العمل، كما هو موضّح أدناه.

إذا كانت بوابة Edge Microgateway قيد التشغيل (خيار "وقت الاستراحة"):

  1. إعادة تحميل ضبط Edge Microgateway:
    edgemicro reload -o org_name -e env_name -k key -s secret

    المكان:

    • org_name هو اسم مؤسستك على Edge (يجب أن تكون مؤسسة المشرف).
    • env_name عبارة عن بيئة في مؤسستك (مثل "test" أو "إنتاج").
    • key هو المفتاح الذي يعرضه أمر الضبط في السابق.
    • secret هو المفتاح الذي يعرضه أمر الضبط في السابق.

    على سبيل المثال:

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188...78b6181d000723 \
      -s 05c14356e42ed1...4e34ab0cc824

في حال إيقاف بوابة Edge Microgateway:

  1. أعد تشغيل Edge Microgateway:
    edgemicro start -o org_name -e env_name -k key -s secret

    المكان:

    • org_name هو اسم مؤسستك على Edge (يجب أن تكون مؤسسة المشرف).
    • env_name هي بيئة في مؤسستك (مثل "اختبار" أو "إنتاج").
    • key هو المفتاح الذي يعرضه أمر الضبط في السابق.
    • secret هو المفتاح الذي يعرضه أمر الضبط في السابق.

    على سبيل المثال:

    edgemicro start -o docs -e test -k 701e70ee718ce...b6181d000723 \
      -s 05c1435...e34ab0cc824

في ما يلي مثال على ملف الإعداد. للحصول على تفاصيل عن إعدادات ملف الضبط، يُرجى الاطّلاع على مرجع ضبط 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 المصغَّرة وبدء تشغيلها.

تكوين طبقة المقابس الآمنة (SSL) على بوابة Edge الصغيرة خادم

شاهِد الفيديوهات التالية للتعرّف على كيفية ضبط بروتوكول أمان طبقة النقل (TLS) في Apigee Edge Microgateway:

فيديو الوصف
ضبط طبقة النقل الآمنة باتجاه واحد باتجاه الشمال تعرَّف على كيفية إعداد بروتوكول أمان طبقة النقل (TLS) في بوابة Microgateway في Apigee Edge. يتناول هذا الفيديو نظرة عامة على بروتوكول أمان طبقة النقل (TLS) وأهميته، ويتناول بروتوكول أمان طبقة النقل (TLS) في Edge Microgateway، ويوضح كيفية تهيئة بروتوكول أمان طبقة النقل (TLS) أحادي الاتجاه في الشمال.
ضبط بروتوكول أمان طبقة النقل (TLS) باتجاه الشمال هذا هو الفيديو الثاني حول تهيئة بروتوكول أمان طبقة النقل (TLS) في Apigee Edge Microgateway. هذا النمط فيديو يوضح كيفية تهيئة بروتوكول أمان طبقة النقل (TLS) ثنائي الاتجاه باتجاه الشمال.
إعداد بروتوكول أمان طبقة النقل (TLS) باتجاه واحد واتجاهين في اتجاه الجنوب يشرح هذا الفيديو الثالث حول ضبط بروتوكول أمان طبقة النقل (TLS) في Apigee Edge Microgateway كيفية ضبط بروتوكول أمان طبقة النقل (TLS) باتجاه واحد وثنائي الاتجاه باتجاه الجنوب.

يمكنك تهيئة خادم Microgateway لاستخدام طبقة المقابس الآمنة (SSL). على سبيل المثال، عند تهيئة طبقة المقابس الآمنة، يمكنك يمكننا استدعاء واجهات برمجة التطبيقات من خلال Edge Microgateway باستخدام البادئة "https" مثل هذا:

https://localhost:8000/myapi

لتهيئة طبقة المقابس الآمنة (SSL) على خادم Microgateway، اتبع الخطوات التالية:

  1. أنشئ أو احصل على شهادة ومفتاح طبقة المقابس الآمنة (SSL) باستخدام الأداة المساعدة openssl أو الطريقة التي تفضّلها.
  2. أضِف السمة edgemicro:ssl إلى ملف إعداد 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
       requestCert: true
  3. أعِد تشغيل Edge Microgateway. اتبع الخطوات الموضحة في يمكن أن يؤدي إجراء تغييرات على الضبط إلى ملف الإعداد الذي عدَّلته: الملف التلقائي أو ملف إعداد بيئة التشغيل.

في ما يلي مثال على القسم edgemicro من ملف الإعداد، باستخدام طبقة المقابس الآمنة تم إعداده:

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

في ما يلي قائمة بجميع خيارات الخادم المتوافقة:

Option الوصف
key المسار إلى ملف ca.key (بتنسيق PEM).
cert المسار إلى ملف ca.cert (بتنسيق PEM).
pfx مسار إلى ملف pfx يحتوي على المفتاح الخاص والشهادة وشهادات هيئة إصدار الشهادات (CA) العميل بتنسيق PFX.
passphrase سلسلة تحتوي على عبارة المرور للمفتاح الخاص أو PFX.
ca مسار إلى ملف يحتوي على قائمة بالشهادات الموثوق بها بتنسيق PEM.
ciphers سلسلة تصف الرموز المراد استخدامها مفصولة بـ ":".
rejectUnauthorized إذا كانت القيمة هي true، سيتم التحقّق من شهادة الخادم وفقًا لقائمة مراجع التصديق المُقدّمة. في حال حذف فشل التحقق، سيتم إرجاع خطأ.
secureProtocol طريقة طبقة المقابس الآمنة (SSL) المستخدمة. على سبيل المثال، SSLv3_method لفرض طبقة المقابس الآمنة (SSL) على الإصدار 3.
servername اسم الخادم لإضافة بروتوكول أمان طبقة النقل (SNI) (إشارة اسم الخادم)
requestCert صحيح بالنسبة إلى طبقة المقابس الآمنة الثنائية الاتجاه؛ خطأ في طبقة المقابس الآمنة الأحادية الاتجاه

استخدام خيارات طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS) الخاصة بالعميل

يمكنك تهيئة Edge Microgateway ليكون عميل بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) عند الاتصال للاستهداف والنقاط النهائية. في ملف إعداد Microgateway، استخدم عنصر الأهداف لضبط طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS) الخيارات.

يوفّر هذا المثال الإعدادات التي سيتم تطبيقها على جميع المضيفين:

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

في هذا المثال، يتم تطبيق الإعدادات على المضيف المحدّد فقط:

edgemicro:
...
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):

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

في ما يلي قائمة بجميع خيارات البرامج المتوافقة:

Option الوصف
pfx مسار إلى ملف pfx يحتوي على المفتاح الخاص والشهادة وشهادات هيئة إصدار الشهادات (CA) العميل بتنسيق PFX.
key المسار إلى ملف ca.key (بتنسيق PEM).
passphrase سلسلة تحتوي على عبارة المرور للمفتاح الخاص أو PFX.
cert المسار إلى ملف ca.cert (بتنسيق PEM).
ca مسار إلى ملف يحتوي على قائمة بالشهادات الموثوق بها بتنسيق PEM.
ciphers سلسلة تصف الرموز المراد استخدامها مفصولة بـ ":".
rejectUnauthorized إذا كانت القيمة هي true، سيتم التحقّق من شهادة الخادم وفقًا لقائمة مراجع التصديق المُقدّمة. في حال حذف فشل التحقق، سيتم إرجاع خطأ.
secureProtocol طريقة طبقة المقابس الآمنة (SSL) المستخدمة. على سبيل المثال، SSLv3_method لفرض طبقة المقابس الآمنة (SSL) على الإصدار 3.
servername اسم الخادم لإضافة بروتوكول أمان طبقة النقل (SNI) (إشارة اسم الخادم)

تخصيص الخادم الوكيل لمصادقة Edgemicro

بشكل تلقائي، تستخدم Edge Microgateway خادمًا وكيلاً تم نشره على Apigee Edge لمصادقة OAuth2. يتم تفعيل هذا الخادم الوكيل عند تشغيل edgemicro configure في البداية. يمكنك تغيير الإعدادات التلقائية لهذا الخادم الوكيل لإضافة دعم للمطالبات المخصّصة إلى رمز JSON المميّز للويب (JWT)، وضبط تاريخ انتهاء صلاحية الرمز المميز، وإنشاء رموز مميزة للتحديث. لمعرفة التفاصيل، يُرجى الاطّلاع على صفحة edgemicro-auth في GitHub.

استخدام خدمة مصادقة مخصصة

بشكل تلقائي، تستخدم Edge Microgateway خادمًا وكيلاً تم نشره على Apigee Edge لمصادقة OAuth2. يتم تفعيل هذا الخادم الوكيل عند تشغيل edgemicro configure في البداية. بشكل افتراضي، يتم تحديد عنوان URL للخادم الوكيل في ملف تهيئة Edge Microgateway على النحو التالي:

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

إذا كنت تريد استخدام الخدمة المخصصة التابعة لك لمعالجة المصادقة، يمكنك تغيير authUri في ملف الإعداد للتوجيه إلى خدمتك. على سبيل المثال، قد يكون لديك خدمة تستخدم بروتوكول النفاذ إلى الدليل البسيط لإثبات الهوية.

إدارة ملفات السجلّ

يسجل 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 على "صحيح" على النحو التالي:

edgemicro:
  logging:
    to_console: true

من خلال هذا الإعداد، سيتم إرسال السجلّات إلى الإصدار العادي. في الوقت الحالي، لا يمكنك إرسال السجلات إلى كليهما stdout وإلى ملف السجل.

كيفية ضبط مستوى التسجيل

يمكنك ضبط مستويات السجل التالية: info وتحذير "خطأ". مستوى المعلومات المقترَح. فهي تسجّل جميع طلبات واجهة برمجة التطبيقات واستجاباتها، وهو الخيار الافتراضي.

كيفية تغيير الفواصل الزمنية للسجلات

يمكنك تهيئة هذه الفواصل في ملف تهيئة Edge Microgateway. راجِع أيضًا إجراء تغييرات على الإعدادات.

السمات التي يمكن ضبطها هي:

  • stats_log_interval: (التلقائي: 60) الفاصل الزمني بالثواني عند عرض الإحصاءات سجلك في ملف سجل واجهة برمجة التطبيقات.
  • 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 باستخدام ما يلي: الممارسات:

  • ونظرًا لأن ملفات السجل يمكن أن تصبح كبيرة للغاية، تأكد من أن دليل ملف السجل مساحة كافية. راجِع القسمَين التاليَين مكان تخزين ملفات السجلّ وكيفية تغيير ملف السجلّ التلقائي. الدليل.
  • عليك حذف ملفات السجلّ أو نقلها إلى دليل أرشيف منفصل مرة واحدة على الأقل أسبوعيًا.
  • إذا كانت سياستك هي حذف السجلّات، يمكنك استخدام الأمر CLI edgemicro log -c. إزالة (تنظيف) السجلات القديمة.

اصطلاح تسمية ملف السجلّ

ينتج عن كل مثيل Edge Microgateway ثلاثة أنواع من ملفات السجل:

  • api - لتسجيل جميع الطلبات والردود التي تتدفق من خلال Edge مدخل مصغّر. يتم أيضًا تسجيل عدّادات (الإحصاءات) والأخطاء في واجهة برمجة التطبيقات في هذا الملف.
  • 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 للخوادم الوكيلة والمنتجات وملف JSON الذي تم تنزيله رمز الويب المميّز (JWT). إذا أردت إخراج هذه الكائنات إلى ملفات السجل، اضبط DEBUG=* عند بدء تشغيل Edge Microgateway. على سبيل المثال:

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

محتوى "واجهة برمجة التطبيقات" ملف السجلّ

"واجهة برمجة التطبيقات" يحتوي ملف السجلّ على معلومات تفصيلية حول تدفق الطلبات والردود عبر بوابة Edge Microgateway. "واجهة برمجة التطبيقات" على النحو التالي:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

لكل طلب يتم إجراؤه على Edge Microgateway، يتم تسجيل أربعة أحداث في "واجهة برمجة التطبيقات" تسجيل الملف:

  • طلب وارد من العميل
  • طلب صادر تم إجراؤه إلى الهدف
  • ردّ وارد من الهدف
  • رد صادر للعميل

يتم تمثيل كل إدخال من هذه الإدخالات المنفصلة في تدوين مختصر للمساعدة في جعل السجل الملفات أكثر إحكاما. فيما يلي أربعة نماذج من الإدخالات تمثل كل من الأحداث الأربعة. في السجلّ هكذا، تظهر أرقام الأسطر كمرجع في المستند فقط، ولا تظهر في ملف السجل).

(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 - طابع تاريخ Unix
  • info: استنادًا إلى السياق. يمكن أن تكون معلومات أو تحذيرًا أو أخطاءً اعتمادًا على مستوى السجل. يمكن أن يكون إحصاءات لسجل إحصاءات، أو تحذير، أو عن الأخطاء.
  • req - لتحديد الحدث. في هذه الحالة، يطلب من البرنامج.
  • m - الفعل HTTP المستخدم في الطلب.
  • u - جزء عنوان URL الذي يلي المسار الأساسي.
  • h - المضيف ورقم المنفذ حيث توجد بوابة Edge Microgateway الاستماع.
  • r - المضيف البعيد والمنفذ حيث يطلب العميل التي تم إنشاؤها.
  • i - معرّف الطلب ستتشارك جميع إدخالات الحدث الأربعة هذا المعرّف. على كل يتم تعيين معرف طلب فريد لطلبك. يمكن أن يوفر ربط سجلات السجل حسب معرّف الطلب إحصاءات قيّمة حول وقت استجابة الهدف.
  • d - المدة بالمللي ثانية منذ استلام الطلب من قِبل مدخل مصغّر على حافة في المثال أعلاه، تم استلام ردّ الاستهداف على الطلب 0 بعد 7 مللي ثانية (السطر 3)، وتم إرسال الاستجابة إلى العميل بعد مللي ثانية (السطر 4). أو بعبارةٍ أخرى، بلغ إجمالي وقت استجابة الطلب 11 مللي ثانية، من والتي تم أخذها 7 مللي ثانية بواسطة الهدف و4 مللي ثانية بواسطة Edge Microgateway نفسها.

2. نموذج من الطلب الصادر الذي تم تقديمه إلى الهدف:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - طابع تاريخ Unix
  • info: استنادًا إلى السياق. يمكن أن تكون معلومات أو تحذيرًا أو أخطاءً اعتمادًا على مستوى السجل. يمكن أن يكون إحصاءات لسجل إحصاءات، أو تحذير، أو عن الأخطاء.
  • treq - لتحديد الحدث. في هذه الحالة، الطلب المستهدف.
  • m - الفعل HTTP المستخدَم في الطلب المستهدف.
  • u - جزء عنوان URL الذي يلي المسار الأساسي.
  • h - المضيف ورقم المنفذ لهدف الخلفية.
  • i - رقم تعريف إدخال السجل. ستشارك جميع إدخالات الحدث الأربعة هذه رقم التعريف

3. نموذج للردود الواردة من الهدف

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

1436403888651 - طابع تاريخ Unix

  • info: استنادًا إلى السياق. يمكن أن تكون معلومات أو تحذيرًا أو أخطاءً اعتمادًا على مستوى السجل. يمكن أن يكون إحصاءات لسجل إحصاءات، أو تحذير، أو عن الأخطاء.
  • tres - لتحديد الحدث. في هذه الحالة، الاستجابة المستهدفة.
  • s: حالة استجابة HTTP.
  • d - المدة بالمللي ثانية. الوقت الذي يستغرقه استدعاء واجهة برمجة التطبيقات بواسطة الهدف.
  • i - رقم تعريف إدخال السجل. ستشارك جميع إدخالات الحدث الأربعة هذه رقم التعريف

4- نموذج من الردّ الصادر إلى العميل

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

1436403888651 - طابع تاريخ Unix

  • info: استنادًا إلى السياق. يمكن أن تكون معلومات أو تحذيرًا أو أخطاءً اعتمادًا على مستوى السجل. يمكن أن يكون إحصاءات لسجل إحصاءات، أو تحذير، أو عن الأخطاء.
  • res - لتحديد الحدث في هذه الحالة، الاستجابة على البرنامج.
  • s: حالة استجابة HTTP.
  • d - المدة بالمللي ثانية. هذا هو إجمالي الوقت المستغرق من خلال طلب بيانات من واجهة برمجة التطبيقات، بما في ذلك الوقت الذي تستغرقه واجهة برمجة التطبيقات المستهدفة والوقت الذي يستغرقه Edge المدخل المصغّر نفسه.
  • i - رقم تعريف إدخال السجل. ستشارك جميع إدخالات الحدث الأربعة هذه رقم التعريف

الجدول الزمني لملف السجلّ

يتم تدوير ملفات السجلّ على الفاصل الزمني الذي تحدِّده دالة rotate_interval سمة الضبط. ستستمر إضافة الإدخالات إلى ملف السجل نفسه إلى أن تنتهي صلاحية فاصل الدوران. ولكن في كل مرة يتم فيها نقل تتم إعادة تشغيله، وسيتلقّى معرِّفًا فريدًا (UID) جديدًا وينشئ مجموعة جديدة من ملفات السجلّ باستخدام المعرّف الفريد هذا. يمكن أيضًا مراجعة الصيانة الجيدة لملفات السجلّ الممارسات.

رسائل الخطأ

تحتوي بعض إدخالات السجلّ على رسائل خطأ. للمساعدة في تحديد مكان حدوث الأخطاء وسبب حدوثها، عرض خطأ بوابة Microgateway من الحافة المرجع.

مرجع إعداد Edge Microgateway

موقع ملف إعداد

تقع سمات الإعدادات الموضحة في هذا القسم في بوابة Edge Microgateway ملف الإعداد. راجع أيضًا إجراء التهيئة التغييرات.

سمات Edge_config

تُستخدم هذه الإعدادات لتهيئة التفاعل بين مثيل Edge Microgateway Apigee Edge.

  • bootsttrip: (الإعداد التلقائي: لا شيء) عنوان URL يشير إلى إحدى الحافة. خدمة خاصة بالبوابة المصغّرة قيد التشغيل على Apigee Edge. تستخدم Edge Microgateway هذه الخدمة التواصل مع Apigee Edge. ويتم عرض عنوان URL هذا عند تنفيذ الأمر لإنشاء مفتاحا التشفير العام/الخاص: edgemicro genkeys. راجع صفحة إعداد وضبطها على Edge Microgateway للحصول على التفاصيل
  • jwt_public_key: (الإعداد التلقائي: none) عنوان URL يشير إلى بوابة Edge Microgateway الخادم الوكيل الذي تم نشره على Apigee Edge. يعمل هذا الخادم الوكيل كنقطة نهاية للمصادقة إصدار رموز الدخول الموقعة للعملاء. يتم عرض عنوان URL هذا عند تنفيذ الأمر تفعيل الخادم الوكيل: edgemicro Configuration راجع صفحة إعداد وضبطها على Edge Microgateway للحصول على التفاصيل
  • quotaUri: ضبط هذه الإعدادات إذا كنت تريد إدارة الحصص من خلال الخادم الوكيل edgemicro-auth الذي إلى مؤسستك. وإذا لم يتم ضبط هذه السمة، يتم تعيين نقطة نهاية الحصة تلقائيًا على نقطة نهاية Edge Microgateway الداخلية.
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    لاستخدام هذه الميزة، يجب أولاً نشر الإصدار 3.0.5 أو إصدار أحدث من خادم وكيل edgemicro-auth لمؤسستك. للحصول على التفاصيل، يمكنك مراجعة جارٍ ترقية الخادم الوكيل لـ Edgemicro-auth.

سمات Edgemicro

تعمل هذه الإعدادات على تهيئة عملية بوابة Edge Microgateway.

  • port: (الإعداد التلقائي: 8000) رقم المنفذ الذي على بوابة Edge Microgateway الاستماع إلى عملية ما.
  • max_connections: (الإعداد التلقائي: -1) لتحديد الحدّ الأقصى الاتصالات الواردة المتزامنة التي يمكن أن تستقبلها Edge Microgateway. إذا كان هذا الرقم تم تجاوزه، يتم عرض الحالة التالية:

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (التلقائي: -1) الحد الأقصى لعدد الاتصالات المتزامنة التي يمكن أن يتلقاها Edge Microgateway قبل إيقاف الاتصال. هذا الإعداد يهدف إلى إحباط هجمات الحرمان من الخدمة. وعادةً ما يتم ضبطها على رقم أكبر من max_connections.
  • تسجيل الدخول:
    • level: (القيمة التلقائية: خطأ)
      • info: لتسجيل جميع الطلبات والردود التي تتدفق من خلال مثيل Edge Microgateway.
      • warn - لتسجيل رسائل التحذير فقط.
      • error - يُسجّل رسائل الخطأ فقط.
    • dir: (الإعداد التلقائي: /var/tmp) الدليل الذي يتضمّن ملفات السجلّ تخزين البيانات.
    • stats_log_interval: (التلقائي: 60) الفاصل الزمني بالثواني عند عرض الإحصاءات سجلك في ملف سجل واجهة برمجة التطبيقات.
    • rotate_interval: (الافتراضي: 24) الفاصل الزمني، بالساعات، عندما تكون ملفات السجل تم تدويره.
  • المكوّنات الإضافية: تضيف المكوّنات الإضافية وظائف إلى بوابة Edge Microgateway. للحصول على التفاصيل حول تطوير المكوّنات الإضافية، راجع تطوير مكونات إضافية مخصصة.
  • dir: مسار نسبي من دليل ./gateway إلى الدليل دليل ./extensions أو مسار مطلق.
  • التسلسل: قائمة بوحدات المكوّنات الإضافية المطلوب إضافتها إلى جهاز Edge Microgateway مثال. سيتم تنفيذ الوحدات بالترتيب المحدد هنا.
  • debug: لإضافة تصحيح الأخطاء عن بُعد إلى عملية Edge Microgateway.
    • port: رقم المنفذ المطلوب الاستماع إليه على سبيل المثال، يمكنك ضبط برنامج تصحيح أخطاء بيئة التطوير المتكاملة (IDE). من الاستماع على هذا المنفذ.
    • الوسيطات: وسيطات لعملية تصحيح الأخطاء على سبيل المثال: args --nolazy
  • config_change_poll_interval: (الافتراضي: 600 ثانية) بوابة Edge Microgateway يُحمِّل ضبطًا جديدًا بشكلٍ دوري وينفِّذ عملية إعادة تحميل في حال حدوث أي تغيير. الاستطلاع تلتقط أي تغييرات يتم إجراؤها على Edge (التغييرات على المنتجات، والخوادم الوكيلة الواعية بالبوابة المصغّرة، وما إلى ذلك) بالإضافة إلى التغييرات التي تم إجراؤها على ملف التهيئة المحلي.
  • disable_config_poll_interval: (الإعداد التلقائي: خطأ) true إلى إيقاف استطلاع التغيير التلقائي.
  • request_timeout: لضبط مهلة للطلبات المستهدفة. تم تعيين المهلة في ثوانٍ. في حال انتهاء المهلة، يستجيب Edge Microgateway برمز الحالة 504. (مضاف) v2.4.x)

سمات العناوين

تضبط هذه الإعدادات كيفية التعامل مع عناوين HTTP معيّنة.

  • x-forwarded-for: (تلقائي: true) يتم الضبط على false لمنع إعادة توجيه x للعناوين إلى الهدف. لاحظ أنه إذا كان العنوان x-forwarded-for في الطلب، فسيتم تعيين قيمته على قيمة client-ip في Edge Analytics.
  • x-forwarded-host: (تلقائي: true) يتم ضبطها على "خطأ" لمنع رؤوس x-forwarded-host يتم تمريرها إلى الهدف.
  • x-request-id: (تلقائي: صحيح) يتم ضبطه على "خطأ" لمنع رؤوس x-request-id لتمريرها إلى الهدف.
  • x-response-time: (تلقائي: صحيح) يتمّ ضبطه على خطأ لمنع تمرير رؤوس x-response-time إلى الهدف.
  • عبر: (تلقائي: صواب) يتم الضبط على خطأ لمنع أن تكون العناوين تمريره إلى الهدف.

سمات OAuth

تعمل هذه الإعدادات على ضبط كيفية فرض مصادقة العميل بواسطة Edge Microgateway.

  • allowNoAuthorization: (الإعداد التلقائي: خطأ) في حال الضبط على "صحيح"، تصبح طلبات البيانات من واجهة برمجة التطبيقات يُسمح بالمرور من خلال Edge Microgateway بدون أي عنوان تفويض على الإطلاق. ضبط هذا الإعداد على false لطلب عنوان التفويض (الإعداد التلقائي).
  • allowInvalidAuthorization: (الإعداد التلقائي: خطأ) في حال ضبطه على "صحيح"، تصبح طلبات البيانات من واجهة برمجة التطبيقات يُسمح باجتيازها إذا كان الرمز المميز الذي تم تمريره في عنوان التفويض غير صالح أو منتهي الصلاحية. ضبط هذا الإعداد إلى false لطلب رموز مميزة صالحة (الإعداد التلقائي).
  • Authorize-header: (تلقائي: التفويض: الحامل) الرأس المُستخدَم إرسال رمز الدخول إلى بوابة Edge Microgateway. وقد تحتاج إلى تغيير الإعداد التلقائي في الحالات التي يحتاج الهدف إلى استخدام رأس التفويض لغرض آخر.
  • api-key-header: (default: x-api-key) اسم الرأس أو طلب البحث المعلمة المستخدمة لتمرير مفتاح واجهة برمجة التطبيقات إلى Edge Microgateway. راجع أيضًا استخدام مفتاح واجهة برمجة التطبيقات.
  • keep-authorization-header: (الإعداد التلقائي: خطأ) في حال الضبط على "صحيح"، يتم عرض عنوان التفويض المرسلة في الطلب يتم تمريرها إلى الهدف (يتم الاحتفاظ بها).
  • allowOAuthOnly -- في حال ضبط هذه السياسة على "صحيح"، يجب أن تتضمن كل واجهة برمجة تطبيقات تفويضًا. مع رمز دخول الحامل. يُتيح لك السماح بنموذج أمان OAuth فقط (بينما الحفاظ على التوافق مع الأنظمة القديمة). (تمت الإضافة 2.4.x)
  • allowAPIKeyOnly -- إذا تم ضبط هذه السياسة على "صحيح"، يجب أن تتضمن كل واجهة برمجة تطبيقات رأس x-api-key (أو موقع مخصص) مع مفتاح واجهة برمجة التطبيقات.يسمح لك هذا فقط نموذج أمان مفتاح واجهة برمجة التطبيقات (مع الحفاظ على التوافق مع الأنظمة القديمة). (تمت الإضافة 2.4.x)
  • gracePeriod -- تساعد هذه المعلمة في منع الأخطاء الناتجة عن التناقضات بين وقتَي "لم يحدث قبل" (nbf) و"وقت الإصدار (iat) في ساعة النظام" المحدد في رمز تفويض JWT. اضبط هذه المَعلمة على عدد الثواني التي سيتم السماح بها بسبب هذه التناقضات. (تمت الإضافة 2.5.7)

الخاص بالمكوّن الإضافي السمات

راجع استخدام المكوّنات الإضافية للحصول على تفاصيل حول السمات القابلة للتهيئة لكل مكوّن إضافي.

الخوادم الوكيلة للتصفية

يمكنك فلترة الخوادم الوكيلة الواعية بالبوابة المصغّرة التي سيعالجها مثيل Edge Microgateway. عندما تبدأ بوابة Edge Microgateway، يتم تنزيل جميع الخوادم الوكيلة الواعية بالبوابة المصغّرة في والمؤسسة التي ترتبط بها. استخدم التهيئة التالية لتحديد الخوادم الوكيلة عملية المدخل الصغير. فعلى سبيل المثال، تحد هذه التهيئة من الخوادم الوكيلة للبوابة المصغّرة ستتم المعالجة على ثلاثة: edgemicro_proxy-1، edgemicro_proxy-2، وedgemicro_proxy-3:

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

ضبط معدّل تكرار إرسال الإحصاءات

استخدام مَعلمات الضبط هذه للتحكّم في معدّل تكرار إرسال بوابة Edge Microgateway بيانات إحصائية إلى Apigee:

  • bufferSize (اختياري): الحدّ الأقصى لعدد سجلّات الإحصاءات التي المخزن المؤقت يمكن أن يحتفظ قبل البدء في إسقاط السجلات الأقدم. الافتراضية: 10000
  • batchSize (اختيارية): الحد الأقصى لحجم دفعة من سجلّات الإحصاءات يتم إرساله إلى Apigee. القيمة التلقائية: 500
  • flushInterval (اختيارية): عدد المللي ثانية بين كل تدفق إرسال دفعة من سجلات التحليلات إلى Apigee. القيمة التلقائية: 5,000

على سبيل المثال:

analytics:
  bufferSize: 15000
  batchSize: 1000
  flushInterval: 6000

إخفاء بيانات التحليلات

تمنع الإعدادات التالية ظهور معلومات مسار الطلب في Edge "إحصاءات YouTube". أضف ما يلي إلى إعداد المدخل الصغير لحجب عنوان URI للطلب و/أو مسار الطلب. تجدر الإشارة إلى أنّ معرّف الموارد المنتظم (URI) مؤلف من أجزاء مسار الطلب واسم المضيف.

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

فصل طلبات البيانات من واجهة برمجة التطبيقات في Edge Analytics

يمكنك ضبط المكوّن الإضافي للتحليلات لفصل مسار معيّن لواجهة برمجة التطبيقات بحيث يظهر خادم وكيل منفصل في لوحات بيانات Edge Analytics على سبيل المثال، يمكنك فصل واجهة برمجة التطبيقات للتحقق من الصحة في لوحة البيانات لتجنب الالتباس مع الطلبات الفعلية لخادم وكيل واجهة برمجة التطبيقات. في جلسة المعمل، في لوحة بيانات "إحصاءات Google"، تتّبع الخوادم الوكيلة المنفصلة نمط التسمية التالي:

edgemicro_proxyname-health

تعرِض الصورة التالية خادمَين وكيلَين منفصلَين في لوحة بيانات "إحصاءات Google": edgemicro_hello-health و edgemicro_mock-health:

استخدام هذه لفصل المسارات النسبية والمطلقة في لوحة بيانات "إحصاءات Google" كخوادم وكيلة منفصلة:

  • relativePath (اختيارية): تحدد مسارًا نسبيًا للفصل في الجدول لوحة بيانات "إحصاءات YouTube". مثلاً، إذا حدّدت /healthcheck، جميع طلبات البيانات من واجهة برمجة التطبيقات التي تحتوي على المسار سيظهر /healthcheck في لوحة البيانات باسم edgemicro_proxyname-health. تجدر الإشارة إلى أنّ هذه العلامة تتجاهل المسار الأساسي للخادم الوكيل. للفصل استنادًا إلى مسار كامل، بما في ذلك المسار الأساسي، استخدِم علامة proxyPath.
  • proxyPath (اختياري): يحدد مسارًا كاملاً للخادم الوكيل لواجهة برمجة التطبيقات، بما في ذلك الخادم الوكيل الأساسية، لفصلها في لوحة بيانات التحليلات. على سبيل المثال، إذا حددت /mocktarget/healthcheck، حيث /mocktarget هو المسار الأساسي للخادم الوكيل، فستتغيّر جميع طلبات البيانات من واجهة برمجة التطبيقات التي تتضمّن المسار /mocktarget/healthcheck تظهر في لوحة البيانات باسم edgemicro_proxyname-health.

على سبيل المثال، في الإعدادات التالية، أي مسار لواجهة برمجة تطبيقات يحتوي على /healthcheck من خلال المكون الإضافي للتحليلات. وهذا يعني أنّ /foo/healthcheck و/foo/bar/healthcheck سيتم فصلها كخادم وكيل منفصل يسمى edgemicro_proxyname-health في لوحة بيانات الإحصاءات.

analytics:
  uri: >-
    https://xx/edgemicro/ax/org/docs/environment/test
  bufferSize: 100
  batchSize: 50
  flushInterval: 500
  relativePath: /healthcheck

في الإعدادات التالية، أي واجهة برمجة تطبيقات تحتوي على مسار الخادم الوكيل /mocktarget/healthcheck سيتم فصلها كخادم وكيل منفصل يسمى edgemicro_proxyname-health في لوحة بيانات الإحصاءات

analytics:
  uri: >-
    https://xx/edgemicro/ax/org/docs/environment/test
  bufferSize: 100
  batchSize: 50
  flushInterval: 500
  proxyPath: /mocktarget/healthcheck

إعداد ممر Edge Microgateway خلف جدار حماية للشركة

الإصدار 2.4.x المتوافق

إذا تم تثبيت Edge Microgateway خلف جدار حماية، فقد لا يتمكن المدخل من التواصل مع Apigee Edge. في هذه الحالة، هناك خياران يمكنك أخذهما في الاعتبار:

الخيار 1:

الخيار الأول هو تعيين Edgemicro: Proxy_tunnel على "true" في ملف تهيئة Microgateway:

edge_config:

    proxy: http://10.224.16.85:3128
    proxy_tunnel: true

عندما تكون قيمة proxy_tunnel صحيحًا، تستخدم Edge Microgateway طريقة اتصال HTTP لإجراء طلبات HTTP نفقية عبر اتصال TCP واحد. (ينطبق الأمر نفسه إذا كانت متغيرات البيئة اللازمة لإعداد الخادم الوكيل مفعّلة باستخدام بروتوكول أمان طبقة النقل (TLS).

الخيار 2:

الخيار الثاني هو تحديد خادم وكيل وتعيينProxy_tunnel على "false" في ملف تهيئة Microgateway. على سبيل المثال:

edge_config:
     proxy: http://10.224.16.85:3128
     proxy_tunnel: false

في هذه الحالة، يمكنك إعداد المتغيرات التالية للتحكم في المضيفات لكل HTTP الذي ترغب في استخدامه، أو المضيفين الذين ينبغي ألا يتعاملوا مع خوادم Edge Microgateway: HTTP_PROXY وHTTPS_PROXY وNO_PROXY.

يمكنك ضبط NO_PROXY كقائمة مفصولة بفواصل للنطاقات التي تستخدم شبكة Edge. يجب ألا يكون بوابة Microgateway وكيلاً إلى. على سبيل المثال:

export NO_PROXY='localhost,localhost:8080'

ضبط HTTP_PROXY وHTTPS_PROXY على الخادم الوكيل HTTP نقطة النهاية Edge Microgateway إرسال رسائل إليه. على سبيل المثال:

export HTTP_PROXY='http://localhost:3786'

export HTTPS_PROXY='https://localhost:3786'

لمزيد من المعلومات عن هذه المتغيرات، يُرجى الاطّلاع على https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables.

انظر أيضًا

كيفية إعداد Edge Microgateway وراء جدار حماية للشركة على منتدى Apigee

استخدام أحرف البدل في نسخ مخصصة لبوابة الدخول الصغيرة خوادم وكيلة

يمكنك استخدام علامة "*" واحدة أو أكثر أحرف البدل في المسار الأساسي الخادم الوكيل edgemicro_* (متوافق مع Microgateway). على سبيل المثال، المسار الأساسي /team/*/members يسمح للعملاء بالاتصال https://[host]/team/blue/members https://[host]/team/green/members بدون الحاجة إلى إنشاء خوادم وكيلة جديدة لواجهة برمجة التطبيقات لدعم الفرق الجديدة. يُرجى العِلم أنّ /**/ غير متاح.

ملاحظة مهمة: لا تتيح Apigee استخدام حرف بدل "*". باعتباره العنصر الأول في المسار الأساسي. على سبيل المثال، لا يتوفّر هذا النوع من البحث: بحث /*/.

تدوير مفاتيح JWT

بعد مرور بعض الوقت على إنشاء JWT بشكل مبدئي، قد تحتاج إلى تغيير زوج المفاتيح العام/الخاص مخزنة في KVM تشفير Edge. هذه عملية إنشاء مفتاح جديد تدوير المفتاح.

كيفية استخدام Edge Microgateway لـ JWT

رمز JSON المميّز للويب (JWT) هو معيار للرمز المميّز موضّح في RFC7519. توفر JWT وسيلة للتوقيع على مجموعة من المطالبات، التي يمكن التحقق منها بشكل موثوق بواسطة متلقي JWT.

يستخدم Edge Microgateway مفاتيح JWT كرموز حاملة لأمان بروتوكول OAuth. عند إنشاء رمز OAuth مميز لـ Edge Microgateway، فستسترد JWT مرة أخرى. ويمكنك بعد ذلك استخدام JWT في عنوان تفويض طلبات البيانات من واجهة برمجة التطبيقات على سبيل المثال:

curl -i http://localhost:8000/hello -H "Authorization: Bearer eyJhbGciOiJ..dXDefZEA"

إنشاء JWT جديد

يمكنك إنشاء JWT for Edge Microgateway باستخدام الأمر edgemicro token أو واجهة برمجة التطبيقات. على سبيل المثال:

edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

يطلب هذا الأمر من Apigee Edge إنشاء JWT والذي يمكن استخدامه بعد ذلك للتحقّق من واجهة برمجة التطبيقات. الاتصالات. المَعلمتَان -i و-s هما رقم تعريف المستهلك والقيم السرّية من تطبيق مطوِّر. في مؤسسة Apigee Edge.

أو يمكنك أيضًا إنشاء JWT باستخدام واجهة برمجة تطبيقات الإدارة:

curl -i -X POST "http://org-env.apigee.net/edgemicro-auth/token" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "your consumer key",
    "client_secret": "your consumer secret",
    "grant_type": "client_credentials"
  }'

المكان:

  • org هو اسم مؤسسة Edge (يجب أن تكون مشرف مؤسسة).
  • env هي بيئة في مؤسستك (مثل "test" أو "prod").
  • client_id هو رقم تعريف المستهلك في تطبيق المطوِّر الذي أنشأته سابقًا.
  • "client_secret" هو سر المستهلك في تطبيق المطوّر الذي أنشأته. مسبقًا.

ما المقصود بتدوير المفتاح؟

بعد مرور بعض الوقت على إنشاء JWT بشكل مبدئي، قد تحتاج إلى تغيير زوج المفاتيح العام/الخاص مخزنة في KVM تشفير Edge. هذه عملية إنشاء مفتاح جديد تدوير المفتاح. عند تدوير المفاتيح، يتم إنشاء زوج مفاتيح خاص/عام جديد مخزنة في "البوابة الصغيرة" KVM في مؤسسة/بيئة Apigee Edge. بالإضافة إلى ذلك، يتم الاحتفاظ بالمفتاح العام القديم مع قيمة معرّف المفتاح الأصلية.

لإنشاء JWT، تستخدم Edge المعلومات المخزنة في KVM المشفر. حاسمة تم إنشاء KVM المسمى microgateway وتعبئته بمفاتيح في البداية التي تم إعدادها (الضبط) مدخل مصغّر على حافة تُستخدم المفاتيح في KVM لتوقيع JWT وتشفيره.

تشمل مفاتيح KVM ما يلي:

  • private_key: أحدث مفتاح خاص لـ RSA (تم إنشاؤه مؤخرًا) تم استخدامه للتوقيع JWT.

  • public_key: أحدث شهادة (أحدث شهادة تم إنشاؤها) مُستخدَمة للتحقّق من JWT. باستخدام المفتاح الخاص.

  • private_key_kid: أحدث رقم تعريف للمفتاح الخاص (تم إنشاؤه مؤخرًا). رقم تعريف المفتاح هذا بقيمة خاصة_للمفتاح الخاص وتستخدم لدعم تدوير المفاتيح.

  • public_key1_kid: أحدث رقم تعريف للمفتاح العام (أحدث رقم تعريف تم إنشاؤه). هذا المفتاح هو ترتبط بقيمة public_key1، وتستخدم لدعم تدوير المفاتيح. هذه القيمة هو نفسه طفل المفتاح الخاص.

  • public_key1 - أحدث مفتاح عام (تم إنشاؤه مؤخرًا).

عند إجراء تدوير المفاتيح، يتم استبدال القيم الرئيسية الحالية في الخريطة ويتم تغيير تتم إضافة مفاتيح للاحتفاظ بالمفاتيح العامة القديمة. على سبيل المثال:

  • public_key2_kid - رقم تعريف المفتاح العام القديم. هذا المفتاح مرتبط public_key2 وتُستخدم لدعم تغيير المفاتيح.

  • public_key2: المفتاح العام القديم

سيتم إثبات صحة ملفات JWT المقدَّمة لإثبات الملكية باستخدام المفتاح العام الجديد. في حال حذف تعذّرت عملية إثبات الملكية، فسيتم استخدام المفتاح العام القديم إلى أن تنتهي صلاحيته (بعد 30 دقيقة). ضِمن بهذه الطريقة، يمكنك "تدوير" بدون تعطيل حركة بيانات واجهة برمجة التطبيقات فورًا.

كيفية إجراء تدوير للمفاتيح

يشرح هذا القسم كيفية تغيير المفاتيح.

في حال ضبط مثيل Edge Microgateway قبل الإصدار 2.5.2

إذا قمت بتهيئة مثيل Edge Microgateway قبل الإصدار 2.5.2، فيجب عليك تشغيل الأمران التاليان لترقية KVM وسياسة المصادقة:

upgradekvm -o org -e env -u username

لمزيد من المعلومات حول هذا الأمر، اطّلِع على ترقية آلة متجه الدعم.

يعمل الأمر التالي على ترقية الخادم الوكيل edgemicro-oauth الذي تم نشره إلى مؤسسة Apigee عند ضبط Edge Microgateway. يوفّر هذا الخادم الوكيل الخدمات المطلوبة لإنشاء رموز مميزة.

upgradeauth -o org -e env -u username

لمزيد من المعلومات حول هذا الأمر، راجع ترقية الخادم الوكيل Edgemicro-auth

تدوير المفاتيح

أضِف السطر التالي إلى ملف ~/.edgemicro/org-env-config.yaml، حيث يجب تحديد نفس المؤسسة والبيئة التي ضبطت المدخل المصغّر لاستخدامهما:

jwk_public_keys: 'https://org-env.apigee.net/edgemicro-auth/jwkPublicKeys'

شغّل أمر تدوير المفاتيح لتدوير المفاتيح. (لمزيد من المعلومات حول هذا الأمر، راجع تدوير المفاتيح).

edgemicro rotatekey -o org -e env -u username -k kid_value

على سبيل المثال:

edgemicro rotatekey -o jdoe -e test -u jdoe@google.com -k 2
current nodejs version is v12.5.0
current edgemicro version is 3.0.2
password:
Checking if private key exists in the KVM...
Checking for certificate...
Found Certificate
Generating New key/cert pair...
Extract new public key
Key Rotation successfully completed!

تحدّد المَعلمة -k معرّف مفتاح (kid). يُستخدَم هذا المعرّف لمطابقة مفتاح معيّن. وتستخدم ميزة Edge Microgateway هذه القيمة للاختيار من بين مجموعة من المفاتيح أثناء تدوير المفاتيح. لمزيد من المعلومات، المعلومات، فراجع القسم 4.5 من مواصفات مفتاح الويب JSON.

بعد تدوير المفتاح، تعرض Edge العديد من المفاتيح لـ Edge Microgateway. ملاحظة في المثال التالي، لكل مفتاح "طفل" فريد (رقم تعريف المفتاح). بعد ذلك يستخدم المدخل الصغير هذه للتحقق من رموز التفويض. وإذا فشل التحقق من صحة الرمز المميز، فسينظر المدخل الصغير إلى التحقق مما إذا كان هناك مفتاح قديم في مجموعة المفاتيح ثم تجربة هذا المفتاح. يمثل تنسيق التي يتم إرجاعها هي JSON Web Key (JWK). يمكنك القراءة عن هذا التنسيق في RFC 7517.

{
  "keys": [
    {
      "kty": "RSA",
      "n": "nSl7R_0wKLiWi6cO3n8aOJwYGBtinq723Jgg8i7KKWTSTYoszOjgGsJf_MX4JEW1YCScwpE5o4o8ccQN09iHVTlIhk8CNiMZNPipClmRVjaL_8IWvMQp1iN66qy4ldWXzXnHfivUZZogCkBNqCz7VSC5rw2Jf57pdViULVvVDGwTgf46sYveW_6h8CAGaD0KLd3vZffxIkoJubh0yMy0mQP3aDOeIGf_akeZeZ6GzF7ltbKGd954iNTiKmdm8IKhz6Y3gLpC9iwQ-kex_j0CnO_daHl1coYxUSCIdv4ziWIeM3dmjQ5_2dEvUDIGG6_Az9hTpNgPE5J1tvrOHAmunQ",
      "e": "AQAB",
      "kid": "2"
    },
    {
      "kty": "RSA",
      "n": "8BKwzx34BMUcHwTuQtmp8LFRCMxbkKg_zsWD6eOMIUTAsORexTGJsTy7z-4aH0wJ3fT-3luAAUPLBQwGcuHo0P1JnbtPrpuYjaJKSZOeIMOnlryJCspmv-1xG4qAqQ9XaZ9C97oecuj7MMoNwuaZno5MvsY-oi5B_gqED3vIHUjaWCErd4reONyFSWn047dvpE6mwRhZbcOTkAHT8ZyKkHISzopkFg8CD-Mij12unxA3ldcTV7yaviXgxd3eFSD1_Z4L7ZRsDUukCJkJ-8qY2-GWjewzoxl-mAW9D1tLK6qAdc89yFem3JHRW6L1le3YK37-bs6b2a_AqJKsKm5bWw",
      "e": "AQAB",
      "kid": "1"
    }
  ]
}

تصفية الخوادم الوكيلة التي تم تنزيلها

ينزّل Edge Microgateway تلقائيًا جميع الخوادم الوكيلة في مؤسسة Edge تبدأ ببادئة التسمية "edgemicro_". يمكنك تغيير هذا الإعداد التلقائي لتنزيل الخوادم الوكيلة التي تتطابق أسماؤها مع نمط ما.

  1. افتح ملف إعداد Edge Micro: ~/.edgemicro/org-env-config.yaml
  2. أضف عنصر clientPattern ضمن Edge_config. على سبيل المثال، النمط التالي لتنزيل الخوادم الوكيلة مثل Edgemicro_foo وEdmicro_Fast وEdmicro_first.
    edge_config:proxyPattern: edgemicro_f*

تحديد المنتجات بدون خوادم وكيلة لواجهة برمجة التطبيقات

في Apigee Edge، يمكنك إنشاء منتج واجهة برمجة تطبيقات لا يحتوي على أي خوادم وكيلة لواجهة برمجة التطبيقات. تتيح إعدادات المنتج هذه استخدام مفتاح واجهة برمجة تطبيقات مرتبط بهذا المنتج مع أي الذي تم نشره في مؤسستك. اعتبارًا من الإصدار 2.5.4، تدعم Edge Microgateway هذا المنتج التكوين.

تصحيح الأخطاء وتحديد المشاكل وحلّها

الاتصال ببرنامج تصحيح الأخطاء

يمكنك تشغيل 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 في تصحيح أخطاء الرمز غير المتزامن.

جارٍ التحقّق من ملفات السجلّ

إذا كنت تواجه مشاكل، يُرجى التأكّد من فحص ملفات السجلّ بحثًا عن تفاصيل التنفيذ والخطأ. المعلومات. لمعرفة التفاصيل، يُرجى الاطّلاع على إدارة ملفات السجلّ.

استخدام أمان مفتاح واجهة برمجة التطبيقات

توفر مفاتيح واجهة برمجة التطبيقات آلية بسيطة لمصادقة العملاء الذين يقدمون طلبات إلى Edge مدخل مصغّر. يمكنك الحصول على مفتاح واجهة برمجة التطبيقات عن طريق نسخ قيمة مفتاح المستهلك (يُسمى أيضًا رقم تعريف العميل) من منتج Apigee Edge الذي يشتمل على الخادم الوكيل لمصادقة Edge Microgateway.

التخزين المؤقت للمفاتيح

يتم استبدال مفاتيح واجهة برمجة التطبيقات برموز الحامل المميزة، والتي يتم تخزينها مؤقتًا. يمكنك تعطيل التخزين المؤقت عن طريق تعيين عنوان Cache-Control: no-cache في الطلبات الواردة إلى Edge مدخل مصغّر.

استخدام مفتاح واجهة برمجة التطبيقات

يمكنك تمرير مفتاح واجهة برمجة التطبيقات في طلب بيانات من واجهة برمجة التطبيقات إما كمعلمة طلب بحث أو في عنوان. بشكل افتراضي، اسم معلَمة العنوان وطلب البحث هما x-api-key.

مثال على معلمة طلب البحث:

curl http://localhost:8000/foobar?x-api-key=JG616Gjz7xs4t0dvpvVsGdI49G34xGsz

مثال على العنوان:

curl http://localhost:8000/foobar -H "x-api-key:JG616Gjz7xs4t0dvpvVsGdI49G34xGsz"

ضبط اسم مفتاح واجهة برمجة التطبيقات

بشكل تلقائي، يكون x-api-key هو الاسم المستخدَم لكل من عنوان مفتاح واجهة برمجة التطبيقات ومعلمة طلب البحث. يمكنك تغيير هذا الإعداد التلقائي في ملف الإعداد، كما هو موضّح في مقالة إجراء تغييرات على الإعدادات. على سبيل المثال، لتغيير اسم apiKey:

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

في هذا المثال، تم تغيير كل من معلَمة طلب البحث واسم العنوان إلى apiKey. تشير رسالة الأشكال البيانية لن يعمل الاسم x-api-key في كلتا الحالتين. يمكن أيضًا مراجعة إجراء تغييرات على الإعدادات:

على سبيل المثال:

curl http://localhost:8000/foobar -H "apiKey:JG616Gjz7xs4t0dvpvVsGdI49G34xGsz"

لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات مع طلبات الخادم الوكيل، راجع مدخل Micro Edge المصغّر

تفعيل رموز الاستجابة السريعة

يعرض المكوّن الإضافي oauth بشكل تلقائي رموز حالة خطأ 4xx فقط في حال الرد ليس الحالة 200. يمكنك تغيير هذا السلوك تعرض رمز 4xx أو 5xx بالضبط حسب الخطأ. (تم إصداره في الإصدار 3.0.7)

لتفعيل هذه الميزة، عليك إضافة "oauth.useUpstreamResponse: true". إلى تهيئة Edge Microgateway. على سبيل المثال:

oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  gracePeriod: 10
  useUpstreamResponse: true

استخدام أمان رمز OAuth2 المميز

يوضح هذا القسم كيفية الحصول على رموز الدخول عبر OAuth2 ورموز إعادة التحميل. تُستخدم رموز الدخول لجعل واجهة برمجة التطبيقات الآمنة من خلال المدخل المصغّر. تُستخدم رموز إعادة التحميل للحصول على رموز دخول جديدة.

كيفية الحصول على رمز دخول

يشرح هذا القسم كيفية استخدام الخادم الوكيل edgemicro-auth للحصول على رمز دخول.

يمكنك أيضًا الحصول على رمز دخول باستخدام الأمر edgemicro token CLI. للحصول على تفاصيل حول واجهة سطر الأوامر، يُرجى الاطّلاع على إدارة الرموز المميّزة.

واجهة برمجة التطبيقات 1: إرسال بيانات الاعتماد كمَعلمات للنص الأساسي

استبدِل اسمَي المؤسسة والبيئة في عنوان URL. استبدال قيم رقم تعريف المستهلك وسر المستهلك التي تم الحصول عليها من تطبيق مطوِّر على Apigee شبكة Edge للمَعلمتَين الأساسيتَين client_id وclient_secret:

curl -i -X POST "http://<org>-<test>.apigee.net/edgemicro-auth/token" \
-d '{"grant_type": "client_credentials", "client_id": "your_client_id", \
"client_secret": "your_client_secret"}' -H "Content-Type: application/json"

واجهة برمجة التطبيقات 2: إرسال بيانات الاعتماد في عنوان المصادقة الأساسية

أرسل بيانات اعتماد العميل كعنوان للمصادقة الأساسية grant_type كمَعلمة في النموذج. ستتم مناقشة نموذج الأمر هذا أيضًا في RFC 6749: إطار عمل تفويض OAuth 2.0.

http://<org>-<test>.apigee.net/edgemicro-auth/token -v -u your_client_id:your_client_secret \
-d 'grant_type=client_credentials' -H "Content-Type: application/x-www-form-urlencoded"

نموذج الناتج

تعرض واجهة برمجة التطبيقات استجابة JSON. يُرجى العِلم أنّه لا يوجد فرق بين token و موقعان (access_token) يمكنك استخدام أي منهما.
{
"token": "eyJraWQiOiIxIiwidHlwIjoi",
"access_token": "eyJraWQiOiIxIiwid",
"token_type": "bearer",
"expires_in": "108000"
}

كيفية الحصول على رمز مميّز لإعادة التحميل

للحصول على رمز مميّز لإعادة التحميل، يمكنك طلب بيانات من واجهة برمجة التطبيقات إلى نقطة نهاية /token في الخادم الوكيل edgemicro-auth يجب إجراء طلب البيانات من واجهة برمجة التطبيقات باستخدام password. ونوع المنحة. تتناول الخطوات التالية العملية.

  1. يمكنك الحصول على رمز الدخول وإعادة التحميل باستخدام واجهة برمجة التطبيقات /token. لاحظ أن نوع المنح هو password:
    curl -X POST \
      https://your_organization-your_environment.apigee.net/edgemicro-auth/token \
      -H 'Content-Type: application/json' \
      -d '{
       "client_id":"mpK6l1Bx9oE5zLdifoDbF931TDnDtLq",
       "client_secret":"bUdDcFgv3nXffnU",
       "grant_type":"password",
       "username":"mpK6lBx9RoE5LiffoDbpF931TDnDtLq",
       "password":"bUdD2FvnMsXffnU"
    }'

    تعرض واجهة برمجة التطبيقات رمز دخول ورمزًا مميزًا لإعادة التحميل. يبدو الرد مشابهًا التالي:

    {
        "token": "your-access-token",
        "access_token": "your-access-token",
        "token_type": "bearer",
        "expires_in": "108000",
        "refresh_token": "your-refresh-token",
        "refresh_token_expires_in": "431999",
        "refresh_token_issued_at": "1562087304302",
        "refresh_token_status": "approved"
    }
  2. يمكنك الآن استخدام الرمز المميّز لإعادة التحميل للحصول على رمز دخول جديد من خلال الاتصال نقطة النهاية /refresh لواجهة برمجة التطبيقات نفسها. على سبيل المثال:
    curl -X POST \
      https://willwitman-test.apigee.net/edgemicro-auth/refresh \
      -H 'Content-Type: application/json' \
      -d '{
       "client_id":"mpK6l1Bx9RoE5zLifoDbpF931TDnDtLq",
       "client_secret":"bUdDc2Fv3nMXffnU",
       "grant_type":"refresh_token",
       "refresh_token":"your-refresh-token"
    }'

    تعرض واجهة برمجة التطبيقات رمز دخول جديدًا. يبدو الرد مشابهًا لما يلي:

    {
        "token": "your-new-access-token"
        }

المراقبة الدائمة

للأبد هي أداة Node.js يعيد تلقائيًا تشغيل تطبيق Node.js في حال تعطل العملية أو حدوث خطأ. الحافة يحتوي Microgateway على ملف forever.json الذي يمكنك إعداده للتحكم في عدد والفاصلات الزمنية التي يجب إعادة تشغيل Edge Microgateway بها. يقوم هذا الملف بإعداد خدمة دائمة تسمى forever-monitor (المراقبة الدائمة)، والتي تدير Forever. برمجيًا.

يمكنك العثور على ملف forever.json في تثبيت الجذر Edge Microgateway الدليل. عرض أين يتم تثبيت Edge Microgateway. للحصول على تفاصيل حول خيارات الضبط، يُرجى الرجوع إلى مستندات الرصد الدائم

يتضمن الأمر edgemicro forever علامات تتيح لك تحديد موقع ملف forever.json (علامة -f)، وبدء أو إيقاف التتبُّع الدائم (علامة -a). على سبيل المثال:

edgemicro forever -f ~/mydir/forever.json -a start

لمزيد من المعلومات، يُرجى الاطّلاع على المراقبة الدائمة في مرجع واجهة سطر الأوامر.

تحديد نقطة نهاية لملف الإعداد

إذا كنت تشغّل مثيلات Edge Microgateway متعددة، فقد تحتاج إلى إدارة إعدادها من مكان واحد. يمكنك القيام بذلك عن طريق تحديد نقطة نهاية HTTP حيث يمكن لـ Edge Micro تنزيل ملف التهيئة الخاص به. يمكنك تحديد نقطة النهاية هذه عند بدء تشغيل Edge Micro باستخدام العلامة u-.

على سبيل المثال:

edgemicro start -o jdoe -e test -u http://mylocalserver/mgconfig -k public_key -s secret_key

حيث تُرجع نقطة النهاية mgconfig محتوى ملف الإعداد. هذا هو الملف تقع تلقائيًا في ~/.edgemicro وتتضمّن اصطلاح التسمية: org-env-config.yaml

جارٍ إيقاف التخزين المؤقت لبيانات اتصال TCP

يمكنك استخدام سمة الإعداد nodelay لإيقاف التخزين المؤقت للبيانات اتصالات TCP المستخدمة من قِبل Edge Microgateway.

تستخدم اتصالات TCP افتراضيًا بروتوكول Nagle للتخزين المؤقت للبيانات قبل إرسالها. جارٍ ضبط nodelay على true، تُوقف هذا السلوك (سيتم تنشيط البيانات فورًا في كل مرة) يطلق على socket.write()). راجِع أيضًا Node.js مستندات لمزيد من التفاصيل.

لتفعيل ميزة nodelay، عدِّل ملف إعداد Edge Micro على النحو التالي:

edgemicro:
  nodelay: true
  port: 8000
  max_connections: 1000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

تشغيل ممر Edge المصغر في الوضع المستقل

يمكنك تشغيل بوابة Edge Microgateway غير المتصلة تمامًا من أي تعتمد على Apigee Edge. ويتيح لك هذا السيناريو، المسمى الوضع المستقل، تشغيل واختبار ميزة Edge Microgateway وبدون اتصال بالإنترنت.

في الوضع المستقل، لا تعمل الميزات التالية، لأنها تتطلب اتصالاً إلى Apigee Edge:

  • مفتاح OAuth ومفتاح واجهة برمجة التطبيقات
  • الحصة
  • الإحصاءات

من ناحية أخرى، تعمل المكونات الإضافية المخصصة وارتفاع معدل الاعتقال بشكل طبيعي، لأنها لا الاتصال بـ Apigee Edge. بالإضافة إلى ذلك، يتيح لك مكون إضافي جديد يسمى extauth السماح باستدعاءات واجهة برمجة التطبيقات إلى البوابة المصغّرة باستخدام JWT في الوضع المستقل.

إعداد البوابة وبدء تشغيلها

لتشغيل Edge Microgateway في الوضع المستقل:

  1. تأكد من تثبيت الإصدار 3.0.1 من Edge Microgateway أو إصدار أحدث. إذا لم يكن الأمر كذلك، يجب نفذ الأمر التالي للترقية إلى أحدث إصدار:
    npm install -g edgemicro

    إذا كنت بحاجة إلى مساعدة، راجِع مقالة تثبيت Edge. مدخل مصغّر

  2. أنشئ ملف إعداد بالاسم التالي: $HOME/.edgemicro/org_name-env_name-config.yaml

    على سبيل المثال:

    vi $HOME/.edgemicro/foo-bar-config.yaml
  3. ألصق الرمز التالي في الملف:
    edgemicro:
      port: 8000
      max_connections: 1000
      config_change_poll_interval: 600
      logging:
        level: error
        dir: /var/tmp
        stats_log_interval: 60
        rotate_interval: 24
      plugins:
        sequence:
          - extauth
          - spikearrest
    headers:
      x-forwarded-for: true
      x-forwarded-host: true
      x-request-id: true
      x-response-time: true
      via: true
    extauth:
      publickey_url: https://www.googleapis.com/oauth2/v1/certs
    spikearrest:
      timeUnit: second
      allow: 10
      buffersize: 0
  4. تصدير متغيّر البيئة التالي بالقيمة "1":
    export EDGEMICRO_LOCAL=1
  5. نفِّذ الأمر start التالي، حيث تُدخل قيمًا لإنشاء مثيل الوكيل المحلي:
    edgemicro start -o org_name -e environment_name -a local_proxy_name \
      -v local_proxy_version -t target_url -b base_path

    المكان:

    • your_org هي "المؤسسة". المستخدم الذي استخدمته في اسم ملف التهيئة.
    • "your_environment" هي "البيئة" الاسم الذي استخدمته في ملف الإعداد الاسم.
    • local_proxy_name هو اسم الخادم الوكيل المحلي الذي سيتم إنشاؤه. يمكنك استخدام بأي اسم تريده.
    • local_proxy_version هو رقم إصدار الخادم الوكيل.
    • target_url هو عنوان URL للهدف من الخادم الوكيل. (الهدف هو التي يستدعيها الخادم الوكيل).
    • base_path هو المسار الأساسي للخادم الوكيل. يجب أن تبدأ هذه القيمة ببادئة شرطة مائلة. بالنسبة إلى مسار القاعدة الجذر، حدد فقط شرطة مائلة للأمام؛ على سبيل المثال، "/".

    على سبيل المثال:

    edgemicro start -o local -e test -a proxy1 -v 1 -t http://mocktarget.apigee.net -b /
  6. اختبِر الإعدادات.
    curl http://localhost:8000/echo  { "error" : "missing_authorization" }

    بما أن المكوّن الإضافي extauth موجود في ملف foo-bar-config.yaml، يمكنك الحصول على الحقل "frequent_ المشاهدات" خطأ. يتحقق هذا المكون الإضافي من JWT الذي يجب أن يكون موجودًا في التفويض. عنوان طلب بيانات من واجهة برمجة التطبيقات. في القسم التالي، ستحصل على JWT الذي سيسمح باستدعاءات واجهة برمجة التطبيقات أن تمر بدون حدوث الخطأ.

مثال: الحصول على رمز مميّز للمصادقة

يوضح المثال التالي كيفية الحصول على JWT من نقطة نهاية Edge Microgateway JWT على Apigee Edge (edgemicro-auth/jwkPublicKeys). يتم نشر نقطة النهاية هذه عند إجراء إعداد وضبط عادي لـ Edge Microgateway. للحصول على JWT من نقطة نهاية Apigee، يجب أولاً إعداد إعداد Edge Microgateway القياسي، متصل بالإنترنت. تُستخدم نقطة نهاية Apigee هنا لأغراض أمثلة فقط وهي غير مطلوبة. يمكنك استخدام نقطة نهاية أخرى لرمز JWT المميز إذا أردت. إذا فعلت ذلك، فستحتاج إلى الحصول على JWT باستخدام واجهة برمجة التطبيقات المقدمة لنقطة النهاية هذه.

توضّح الخطوات التالية كيفية الحصول على رمز مميّز باستخدام نقطة نهاية edgemicro-auth/jwkPublicKeys:

  1. عليك تنفيذ جدول بيانات إعداد وضبط Edge Microgateway لتفعيل الخادم الوكيل edgemicro-auth في مؤسستك أو بيئتك على Apigee Edge. إذا سبق لك إجراء هذه الخطوة، لن تحتاج إلى تكرارها.
  2. إذا نشرت Edge Microgateway في Apigee Cloud، يجب أن تكون متصلاً بالإنترنت حتى تتمكن من الحصول على JWT من نقطة النهاية هذه.
  3. إيقاف Edge Microgateway:
    edgemicro stop
  4. في ملف الإعداد الذي أنشأته سابقًا ($HOME/.edgemicro/org-env-config.yaml)، توجيه extauth:publickey_url إلى نقطة النهاية edgemicro-auth/jwkPublicKeys في مؤسسة أو بيئة Apigee Edge. على سبيل المثال:
    extauth:
      publickey_url: 'https://your_org-your_env.apigee.net/edgemicro-auth/jwkPublicKeys'
  5. أعد تشغيل Edge Microgateway كما فعلت سابقًا، باستخدام أسماء org/env التي استخدمتها في اسم ملف التهيئة. على سبيل المثال:
    edgemicro start -o foo -e bar -a proxy1 -v 1 -t http://mocktarget.apigee.net -b /
  6. احصل على رمز JWT المميز من نقطة نهاية التفويض. لأنّك تستخدم "edgemicro-auth/jwkPublicKeys" نقطة نهاية، فيمكنك استخدام الأمر CLI هذا:

يمكنك إنشاء JWT for Edge Microgateway باستخدام الأمر edgemicro token أو واجهة برمجة التطبيقات. على سبيل المثال:

edgemicro token get -o your_org -e your_env \
  -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

المكان:

  • your_org هو اسم مؤسسة Apigee التي استخدمتها في السابق تهيئة Edge Microgateway.
  • your_env هي بيئة في المؤسسة.
  • يحدِّد الخيار i مفتاح العميل من تطبيق مطوِّر لديه منتج. الذي يتضمن الخادم الوكيل edgemicro-auth.
  • يحدِّد الخيار s سر العميل من تطبيق مطوِّر يتضمّن منتج يتضمن الخادم الوكيل edgemicro-auth.

يطلب هذا الأمر من Apigee Edge إنشاء JWT والذي يمكن استخدامه بعد ذلك للتحقّق من واجهة برمجة التطبيقات. الاتصالات.

يمكنك الاطّلاع أيضًا على إنشاء رمز مميّز.

اختبار الإعدادات المستقلة

لاختبار الإعدادات، اطلب واجهة برمجة التطبيقات التي تتضمّن الرمز المميّز الذي تمت إضافته في عنوان التفويض على النحو التالي:

curl http://localhost:8000/echo -H "Authorization: Bearer your_token

مثال:

curl http://localhost:8000/echo -H "Authorization: Bearer eyJraWQiOiIxIiwidHlwIjo...iryF3kwcDWNv7OQ"

مثال على الإخراج:

{
   "headers":{
      "user-agent":"curl/7.54.0",
      "accept":"*/*",
      "x-api-key":"DvUdLlFwG9AvGGpEgfnNGwtvaXIlUUvP",
      "client_received_start_timestamp":"1535134472699",
      "x-authorization-claims":"eyJhdDbiO...M1OTE5MTA1NDkifQ==",
      "target_sent_start_timestamp":"1535134472702",
      "x-request-id":"678e3080-a7ae-11e8-a70f-87ae30db3896.8cc81cb0-a7c9-11e8-a70f-87ae30db3896",
      "x-forwarded-proto":"http",
      "x-forwarded-host":"localhost:8000",
      "host":"mocktarget.apigee.net",
      "x-cloud-trace-context":"e2ac4fa0112c2d76237e5473714f1c85/1746478453618419513",
      "via":"1.1 localhost, 1.1 google",
      "x-forwarded-for":"::1, 216.98.205.223, 35.227.194.212",
      "connection":"Keep-Alive"
   },
   "method":"GET",
   "url":"/",
   "body":""
}

استخدام وضع الخادم الوكيل المحلي

في وضع الخادم الوكيل المحلي، لا تتطلب Edge Microgateway الخادم الوكيل microgateway-aware لنشره على Apigee Edge. بدلاً من ذلك، يمكنك تهيئة "خادم وكيل محلي" من خلال توفير اسم خادم وكيل محلي ومسار أساسي وعنوان URL مستهدف عند لبدء المدخل الصغير. بعد ذلك، يتم إرسال طلبات البيانات من واجهة برمجة التطبيقات إلى البوابة المصغّرة إلى الهدف. عنوان URL للخادم الوكيل المحلي. وفي جميع الجوانب الأخرى، يعمل وضع الخادم الوكيل المحلي بالطريقة نفسها التي يعمل بها وضع جسر Edge Microgateway في الوضع العادي. طريقة عمل المصادقة والارتفاع المفاجئ الاعتقال وفرض الحصّة، والمكوّنات الإضافية المخصّصة، وما إلى ذلك

حالة الاستخدام والمثال

يكون وضع الخادم الوكيل المحلي مفيدًا عندما تحتاج فقط إلى ربط خادم وكيل واحد ببوابة Edge Microgateway مثال. على سبيل المثال، يمكنك إدخال Edge Microgateway في Kubernetes كخادم وكيل جانبي، حيث يكون ممر صغير وخدمة تعمل كل منهما في حجرة واحدة، وحيث يدير المدخل الدقيق حركة المرور إلى ومن الخدمة المصاحبة لها. يوضح الشكل التالي هذه البنية حيث يكون Edge تعمل بوابة Microgateway كخادم وكيل جانبي في مجموعة Kubernetes. يتحدث كل مثيل بوابة صغيرة فقط لنقطة نهاية واحدة على الخدمة المصاحبة لها:

Edgemicro على شكل Sidecar

تتمثل إحدى فوائد هذا النمط من البنية في أن Edge Microgateway يوفر واجهة برمجة تطبيقات إدارة الخدمات الفردية المنشورة في بيئة حاوية، مثل مجموعة Kubernetes.

إعداد وضع الخادم الوكيل المحلي

لإعداد Edge Microgateway للتشغيل في وضع الخادم الوكيل المحلي، اتبع الخطوات التالية:

  1. تأكد من تثبيت الإصدار 3.0.1 من Edge Microgateway أو إصدار أحدث. إذا لم يكن الأمر كذلك، يجب نفذ الأمر التالي للترقية إلى أحدث إصدار:
    npm install -g edgemicro

    إذا كنت بحاجة إلى مساعدة، راجِع مقالة تثبيت Edge. مدخل مصغّر

  2. يمكنك تشغيل edgemicro init لإعداد بيئة الضبط المحلية بالضبط كما تفعل في إعداد بوابة Edge Microgateway النموذجية. يمكن أيضًا مراجعة اضبط بوابة Edge Microgateway.
  3. شغِّل edgemicro configure، كما تفعل في إعداد Edge Microgateway النموذجي الإجراء. على سبيل المثال:
    edgemicro configure -o your_org -e your_env -u your_apigee_username

    ينشر هذا الأمر سياسة edgemicro-auth على متصفّح Edge ويعرض مفتاحًا. وسرّ أنك ستحتاج إلى بدء المدخل الصغير. إذا كنت بحاجة إلى مساعدة، يُرجى مراجعة اضبط بوابة Edge Microgateway.

  4. في Apigee Edge، أنشئ منتج واجهة برمجة تطبيقات وبالإعدادات الإلزامية التالية: (يمكنك إدارة جميع الإعدادات الأخرى كما تريد):
    • عليك إضافة الخادم الوكيل edgemicro-auth إلى المنتج. هذا الخادم الوكيل تم نشره تلقائيًا عند تشغيل "edgemicro configure".
    • ويجب توفير مسار مورد. يقترح Apigee إضافة هذا المسار إلى المنتج: /**. لمزيد من المعلومات، يُرجى الاطّلاع على ضبط سلوك مسار المورد. راجع أيضًا إنشاء واجهة برمجة تطبيقات المنتجات في مستندات Edge.
  5. في Apigee Edge، يمكنك إنشاء مطوِّر برامج أو استخدام مطوِّر حالي إذا كان أمنية. للحصول على المساعدة، يُرجى الاطّلاع على إضافة المطوّرين باستخدام واجهة مستخدم إدارة Edge.

  6. في Apigee Edge، أنشِئ تطبيقًا للمطوّرين. عليك إضافة منتج واجهة برمجة التطبيقات الذي أنشأناه للتو في التطبيق. للحصول على مساعدة، راجِع تسجيل تطبيق في Edge. إدارة واجهة المستخدم.
  7. في الجهاز حيث تم تثبيت Edge Microgateway، قم بتصدير ما يلي متغير البيئة بالقيمة "1".
    export EDGEMICRO_LOCAL_PROXY=1
  8. نفِّذ أمر start التالي:
    edgemicro start -o your_org -e your_environment -k your_key -s your_secret \
        -a local_proxy_name -v local_proxy_version -t target_url -b base_path

    المكان:

    • your_org هي مؤسستك في Apigee.
    • your_environment هي بيئة في مؤسستك.
    • your_key هو المفتاح الذي تم إرجاعه عند تشغيل الجهاز. edgemicro configure
    • "your_secret" هو السر الذي تم إرجاعه عند الجري edgemicro configure
    • local_proxy_name هو اسم الخادم الوكيل المحلي الذي سيتم إنشاؤه.
    • local_proxy_version هو رقم إصدار الخادم الوكيل.
    • target_url هو عنوان URL للهدف من الخادم الوكيل (الخدمة التي سينفّذها الخادم الوكيل الاتصال).
    • base_path هو المسار الأساسي للخادم الوكيل. يجب أن تبدأ هذه القيمة ببادئة شرطة مائلة. بالنسبة إلى مسار القاعدة الجذر، حدد فقط شرطة مائلة للأمام؛ على سبيل المثال، "/".

    على سبيل المثال:

    edgemicro start -o your_org -e test -k 7eb6aae644cbc09035a...d2eae46a6c095f \
      -s e16e7b1f5d5e24df...ec29d409a2df853163a -a proxy1 -v 1 \
      -t http://mocktarget.apigee.net -b /echo

اختبار الإعدادات

يمكنك اختبار إعداد الخادم الوكيل المحلي من خلال طلب نقطة نهاية الخادم الوكيل. على سبيل المثال: إذا حددت مسارًا أساسيًا لـ /echo، يمكنك استدعاء الخادم الوكيل على النحو التالي:

curl  http://localhost:8000/echo
{
  "error" : "missing_authorization",
  "error_description" : "Missing Authorization header"
}

أدى طلب البيانات الأولي من واجهة برمجة التطبيقات إلى ظهور خطأ بسبب عدم تقديم مفتاح صالح لواجهة برمجة التطبيقات. يمكنك العثور على المفتاح في تطبيق المطوِّر الذي أنشأته سابقًا افتح التطبيق في واجهة مستخدم Edge، انسخ مفتاح العميل، واستخدم هذا المفتاح على النحو التالي:

curl  http://localhost:8000/echo -H 'x-api-key:your_api_key'

على سبيل المثال:

curl  http://localhost:8000/echo -H "x-api-key:DvUdLlFwG9AvGGpEgfnNGwtvaXIlUUvP"

مثال على الإخراج:

{
  "headers":{
    "user-agent":"curl/7.54.0",
    "accept":"*/*",
    "x-api-key":"DvUdLlFwG9AvGGpEgfnNGwtvaXIlUUvP",
    "client_received_start_timestamp":"1535134472699",
    "x-authorization-claims":"eyJhdWQiOi...TQ0YmUtOWNlOS05YzM1OTE5MTA1NDkifQ==",
    "target_sent_start_timestamp":"1535134472702",
    "x-request-id":"678e3080-a7ae-11e8-a70f-87ae30db3896.8cc81cb0-a7c9-11e8-a70f-87ae30db3896",
    "x-forwarded-proto":"http",
    "x-forwarded-host":"localhost:8000",
    "host":"mocktarget.apigee.net",
    "x-cloud-trace-context":"e2ac4fa0112c2d76237e5473714f1c85/1746478453618419513",
    "via":"1.1 localhost, 1.1 google",
    "x-forwarded-for":"::1, 216.98.205.223, 35.227.194.212",
    "connection":"Keep-Alive"
  },
  "method":"GET",
  "url":"/",
  "body":""
}