أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
Edge Microgateway الإصدار 2.5.x
يناقش هذا الموضوع كيفية إدارة بوابة Edge Microgateway وتهيئتها.
ترقية Edge Microgateway إذا كان لديك اتصال بالإنترنت
- نفِّذ أمر
npm
التالي للترقية إلى أحدث إصدار من Edge مدخل مصغّر:npm upgrade edgemicro -g
للترقية إلى إصدار معين من Edge Microgateway، يلزمك تحديد الإصدار number في أمر الترقية. إذا لم تحدد رقم الإصدار، فسيتم سيتم تثبيت أحدث إصدار. على سبيل المثال، للترقية إلى الإصدار 2.5.26، استخدم ملف الأمر التالي:
npm upgrade edgemicro@2.5.26 -g
- تحقَّق من رقم الإصدار. على سبيل المثال، في حال تثبيت الإصدار 2.5.26:
edgemicro --version current nodejs version is v8.9.0 current edgemicro version is 2.5.26
- أخيرًا، عليك الترقية إلى أحدث إصدار من الخادم الوكيل 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 initedgemicro configure [params]
edgemicro start [params]
ملف الإعداد التلقائي لمثيلات Edge Microgateway التي تم إعدادها حديثًا
عند تشغيل edgemicro init
، ملف تهيئة النظام (الموضح
أعلاه)، default.yaml
، في دليل ~/.edgemicro
.
إذا غيّرت ملف الإعداد في ~/.edgemicro
، عليك إعادة الضبط ثم إعادة التشغيل.
بوابة Edge Microgateway:
edgemicro stopedgemicro configure [params]
edgemicro start [params]
ديناميكية ملف إعداد لمثيلات التشغيل
عند تشغيل edgemicro configure [params]
، يتم عرض
تم إنشاء ملف إعداد في ~/.edgemicro
. تتم تسمية الملف وفقًا لهذا
النمط: org-env-config.yaml
، حيث تتضمن org
env هي
أسماء المؤسسات والبيئات في Apigee Edge يمكنك استخدام هذا الملف لإجراء إعدادات
ثم إعادة تحميلها دون توقف. على سبيل المثال، إذا قمت بإضافة مكوّن إضافي وإعداده،
يمكنك إعادة تحميل الإعدادات بدون إيقاف أي فترات توقف عن العمل، كما هو موضّح أدناه.
إذا كانت بوابة Edge Microgateway قيد التشغيل (خيار "وقت الاستراحة"):
- إعادة تحميل ضبط 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:
- أعد تشغيل 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 الصغيرة خادم
يمكنك تهيئة خادم Microgateway لاستخدام طبقة المقابس الآمنة (SSL). على سبيل المثال، عند تهيئة طبقة المقابس الآمنة، يمكنك يمكننا استدعاء واجهات برمجة التطبيقات من خلال Edge Microgateway باستخدام البادئة "https" مثل هذا:
https://localhost:8000/myapi
لتهيئة طبقة المقابس الآمنة (SSL) على خادم Microgateway، اتبع الخطوات التالية:
- أنشئ أو احصل على شهادة ومفتاح طبقة المقابس الآمنة (SSL) باستخدام الأداة المساعدة openssl أو الطريقة التي تفضّلها.
- أضِف السمة
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
- أعِد تشغيل 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 للحصول على التفاصيل
سمات 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) الفاصل الزمني، بالساعات، عندما تكون ملفات السجل تم تدويره.
-
level: (القيمة التلقائية: خطأ)
- المكوّنات الإضافية: تضيف المكوّنات الإضافية وظائف إلى بوابة 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 v6.9.1 current edgemicro version is 2.5.7 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_". يمكنك تغيير هذا الإعداد التلقائي لتنزيل الخوادم الوكيلة التي تتطابق أسماؤها مع نمط ما.
- افتح ملف إعداد Edge Micro:
~/.edgemicro/org-env-config.yaml
- أضف عنصر 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. هذا مفيد استكشاف الأخطاء وإصلاحها وتصحيح الأخطاء في المكونات الإضافية المخصصة.
- أعِد تشغيل Edge Microgateway في وضع تصحيح الأخطاء. لتنفيذ ذلك، أضِف
DEBUG=*
إلى العنصر. بداية الأمرstart
. على سبيل المثال:DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
- ابدأ برنامج تصحيح الأخطاء واضبطه على الاستماع إلى رقم المنفذ لعملية تصحيح الأخطاء.
- يمكنك الآن التنقل عبر كود 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 المصغّر
استخدام أمان رمز 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
(تمت إضافتها في الإصدار 2.5.31) أرسِل بيانات اعتماد العميل كرأس للمصادقة الأساسية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
.
ونوع المنحة. تتناول الخطوات التالية العملية.
- يمكنك الحصول على رمز الدخول وإعادة التحميل باستخدام واجهة برمجة التطبيقات
/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" }
- يمكنك الآن استخدام الرمز المميّز لإعادة التحميل للحصول على رمز دخول جديد من خلال الاتصال
نقطة النهاية
/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 في الوضع المستقل:
- تأكد من تثبيت الإصدار 2.5.25 من Edge Microgateway أو إصدار أحدث. إذا لم يكن الأمر كذلك، يجب
نفذ الأمر التالي للترقية إلى أحدث إصدار:
npm install -g edgemicro
إذا كنت بحاجة إلى مساعدة، راجِع مقالة تثبيت Edge. مدخل مصغّر
- أنشئ ملف إعداد بالاسم التالي:
$HOME/.edgemicro/
org_name-
env_name-config.yaml
على سبيل المثال:
vi $HOME/.edgemicro/foo-bar-config.yaml
- ألصق الرمز التالي في الملف:
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
- تصدير متغيّر البيئة التالي بالقيمة "1":
export EDGEMICRO_LOCAL=1
- نفِّذ الأمر
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 /
- اختبِر الإعدادات.
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
:
- عليك تنفيذ جدول بيانات
إعداد وضبط Edge Microgateway لتفعيل الخادم الوكيل
edgemicro-auth
في مؤسستك أو بيئتك على Apigee Edge. إذا سبق لك إجراء هذه الخطوة، لن تحتاج إلى تكرارها. - إذا نشرت Edge Microgateway في Apigee Cloud، يجب أن تكون متصلاً بالإنترنت حتى تتمكن من الحصول على JWT من نقطة النهاية هذه.
-
إيقاف Edge Microgateway:
edgemicro stop
- في ملف الإعداد الذي أنشأته سابقًا (
$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'
-
أعد تشغيل Edge Microgateway كما فعلت سابقًا، باستخدام أسماء org/env التي استخدمتها في اسم ملف التهيئة. على سبيل المثال:
edgemicro start -o foo -e bar -a proxy1 -v 1 -t http://mocktarget.apigee.net -b /
-
احصل على رمز 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. يتحدث كل مثيل بوابة صغيرة فقط لنقطة نهاية واحدة على الخدمة المصاحبة لها:
تتمثل إحدى فوائد هذا النمط من البنية في أن Edge Microgateway يوفر واجهة برمجة تطبيقات إدارة الخدمات الفردية المنشورة في بيئة حاوية، مثل مجموعة Kubernetes.
إعداد وضع الخادم الوكيل المحلي
لإعداد Edge Microgateway للتشغيل في وضع الخادم الوكيل المحلي، اتبع الخطوات التالية:
- تأكد من تثبيت الإصدار 2.5.25 من Edge Microgateway أو إصدار أحدث. إذا لم يكن الأمر كذلك، يجب
نفذ الأمر التالي للترقية إلى أحدث إصدار:
npm install -g edgemicro
إذا كنت بحاجة إلى مساعدة، راجِع مقالة تثبيت Edge. مدخل مصغّر
- يمكنك تشغيل
edgemicro init
لإعداد بيئة الضبط المحلية بالضبط كما تفعل في إعداد بوابة Edge Microgateway النموذجية. يمكن أيضًا مراجعة اضبط بوابة Edge Microgateway. - شغِّل
edgemicro configure
، كما تفعل في إعداد Edge Microgateway النموذجي الإجراء. على سبيل المثال:edgemicro configure -o your_org -e your_env -u your_apigee_username
ينشر هذا الأمر سياسة edgemicro-auth على متصفّح Edge ويعرض مفتاحًا. وسرّ أنك ستحتاج إلى بدء المدخل الصغير. إذا كنت بحاجة إلى مساعدة، يُرجى مراجعة اضبط بوابة Edge Microgateway.
- في Apigee Edge، أنشئ منتج واجهة برمجة تطبيقات وبالإعدادات الإلزامية التالية:
(يمكنك إدارة جميع الإعدادات الأخرى كما تريد):
- عليك إضافة الخادم الوكيل edgemicro-auth إلى المنتج. هذا الخادم الوكيل
تم نشره تلقائيًا عند تشغيل "
edgemicro configure
". - ويجب توفير مسار مورد. يقترح Apigee إضافة هذا المسار إلى
المنتج:
/**
. لمزيد من المعلومات، يُرجى الاطّلاع على ضبط سلوك مسار المورد. راجع أيضًا إنشاء واجهة برمجة تطبيقات المنتجات في مستندات Edge.
- عليك إضافة الخادم الوكيل edgemicro-auth إلى المنتج. هذا الخادم الوكيل
تم نشره تلقائيًا عند تشغيل "
في Apigee Edge، يمكنك إنشاء مطوِّر برامج أو استخدام مطوِّر حالي إذا كان أمنية. للحصول على المساعدة، يُرجى الاطّلاع على إضافة المطوّرين باستخدام واجهة مستخدم إدارة Edge.
- في Apigee Edge، أنشِئ تطبيقًا للمطوّرين. عليك إضافة منتج واجهة برمجة التطبيقات الذي أنشأناه للتو في التطبيق. للحصول على مساعدة، راجِع تسجيل تطبيق في Edge. إدارة واجهة المستخدم.
- في الجهاز حيث تم تثبيت Edge Microgateway، قم بتصدير ما يلي
متغير البيئة بالقيمة "1".
export EDGEMICRO_LOCAL_PROXY=1
- نفِّذ أمر
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":"" }