استخدام Docker لـ Edge Microgateway

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

يشرح هذا الموضوع كيفية تشغيل Edge Microgateway في حاوية Docker. الخطوات سنتناول في هذا الموضوع فهمًا أساسيًا لأوامر Docker وأوامر Docker وبوابة Edge Microgateway عملية الإعداد والتهيئة. بالنسبة لمزيد من المعلومات، يمكنك الرجوع إلى مستندات Docker وEdge Microgateway

المتطلبات الأساسية

قبل تشغيل Edge Microgateway في حاوية Docker، يجب تنفيذ ما يلي المهام:

  • اضبط مدخل Edge Microgateway لمؤسستك أو بيئتك في Apigee:

    edgemicro configure -o your_org -e your_env -u your_username

    للحصول على مزيد من التفاصيل حول التهيئة، اطلع على الجزء 1: تهيئة Edge Microgateway.

  • بعد تنفيذ خطوات الضبط، حدِّد موقع الإعدادات الملف. يكون الموقع الجغرافي التلقائي هنا:

    $HOME/.edgemicro/your_org-your_env-config.yaml

    حيث your_org وyour_env هما المؤسسة والبيئة التي استخدمتها عند تشغيل الأمر edgemicro config. ستحتاج إلى هذا الملف عند بدء تشغيل بوابة Edge Microgateway في حاوية Docker.

  • تأكد من أن لديك بيانات الاعتماد الرئيسية والسرية التي تم إرجاعها عند تشغيل الأمر edgemicro config. على سبيل المثال:

    The following credentials are required to start edge micro
      key: d9c34e1aff68ed969273c016699eabf48780e4f652242e72fc88a43e21252cb0
      secret: 3bc95a71c86a3c8ce04537fbcb788158731t51dfc6cdec13b7c05aa0bd969430
    
  • قبل أن تبدأ بوابة Edge Microgateway في حاوية Docker، يلزمك إنشاء (أو أنشأت) كيانات Apigee Edge المطلوبة لإجراء طلبات بيانات من خادم وكيل واجهة برمجة التطبيقات التي تمت مصادقتها. تتضمن هذه الكيانات جهاز Edge Microgateway وكيل ومنتج واجهة برمجة تطبيقات ومطوّر وتطبيق مطوّر برامج. للحصول على التعليمات الكاملة، راجع إنشاء كيانات في Apigee Edge

تشغيل Edge Micro كحاوية Docker

  1. تنزيل صورة Docker لـ Edge Microgateway:

    docker pull gcr.io/apigee-microgateway/edgemicro:latest
  2. قبل الانتقال إلى الخطوات التالية، تأكَّد من أنّك نفذت جميع الخطوات في قسم المتطلبات الأساسية.

  3. شغّل الأمر التالي لتشفير ملف تهيئة Edge Microgateway موجود في $HOME/.edgemicro:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    حيث يمثل كل من your_org وyour_env المؤسسة والبيئة اللذين استخدمتهما عند تم تشغيل الأمر edgemicro config.

    تذكر وضع علامات فاصلة عليا (`) حول الأمر. على سبيل المثال:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`
  4. شغِّل Edge Microgateway كحاوية. يضبط الأمر متغيرات بيئة متعددة. التي يستخدمها وقت تشغيل الحاوية لبدء بوابة Edge Microgateway:

    chown -R 100:101 ~/.edgemicro/ \
    docker run -P -p 8000:8000 -d --name edgemicro \
    -v /var/tmp:/opt/apigee/logs \
    -e EDGEMICRO_PROCESSES=1 \
    -e EDGEMICRO_ORG=your_org \
    -e EDGEMICRO_ENV=your_env \
    -e EDGEMICRO_KEY=your_key \
    -e EDGEMICRO_SECRET=your_secret \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicro \
    --security-opt=no-new-privileges \
    --cap-drop=ALL \
    gcr.io/apigee-microgateway/edgemicro:latest

    المعلّمات

    المعلَمة الوصف
    -P انشر جميع المنافذ التي تم الكشف عنها إلى المضيف. راجِع أيضًا مرجع تشغيل Docker.
    -p تعيين منفذ واحد أو مجموعة من المنافذ بشكل صريح. راجِع أيضًا مرجع تشغيل Docker.
    -d تشغيل في وضع منفصل. راجِع أيضًا مرجع تشغيل Docker.
    -v, --volume تحدِّد هذه السياسة وحدة تثبيت مستوى الصوت. لاحظ أنه في حالة تهيئة Edge Microgateway لاستخدام بروتوكول أمان طبقة النقل (TLS) في حاوية Docker، يجب كشف المنفذ 8443 إذا تثبيت دليل ملف السجل. راجع أيضًا VOLUME [أنظمة الملفات المشتركة]. راجع أيضًا استخدام بروتوكول أمان طبقة النقل (TLS) في حاوية Docker.
    EDGEMICRO_ORG اسم مؤسسة Apigee التي استخدمتها لإعداد Edge Microgateway.
    EDGEMICRO_ENV اسم بيئة Apigee التي استخدمتها لإعداد Edge Microgateway.
    EDGEMICRO_PROCESSES عدد العمليات للبدء.
    EDGEMICRO_KEY يتم عرض المفتاح عند ضبط Edge Microgateway.
    EDGEMICRO_SECRET تم عرض السر عند ضبط Edge Microgateway.
    EDGEMICRO_CONFIG متغيّر يحتوي على ملف إعداد Edge Microgateway بترميز base64.
    SERVICE_NAME إذا كنت تستخدِم Kubernetes، تتم تعبئة هذه المَعلمة تلقائيًا. وبخلاف ذلك، يمكنك تعيينه إلى أي شيء تريده. إذا لم تحدد أي شيء، فسيتم استخدام تم ضبط الاسم على default.
    DEBUG اضبط القيمة على * لتفعيل تصحيح الأخطاء.
    HTTP_PROXY HTTPS_PROXY الاستخدام عندما تكون بوابة Edge Microgateway إذا كان الجهاز يعمل خلف جدار حماية ولا يمكن للبوابة الاتصال بـ Apigee الحافة. لمزيد من المعلومات، يمكنك الاطلاع على إعداد Edge Microgateway خلف جدار حماية للشركة.

    مثلاً: HTTP_PROXY=http://10.203.0.1:5187/

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

    مثلاً: localhost,127.0.0.1,localaddress,.localdomain.com

    NODE_EXTRA_CA_CERTS (اختياري) يمكنك استخدام هذه المعلمة إذا كنت تستخدم مرجع تصديق غير موثوق به بشكلٍ تلقائي بواسطة Node.js. اضبط قيمة هذه المَعلمة على المسار إلى يحتوي على شهادة واحدة أو أكثر من الشهادات الموثوق بها بتنسيق PEM. بالنسبة التفاصيل، يُرجى الاطِّلاع على شهادات بروتوكول أمان طبقة النقل (TLS).
    --security-opt (اختياري) يضبط خيارات أمان Docker المطلوبة. اطّلِع على ضبط الأمان في وثائق Docker.
    --cap-drop (اختياري) تضبط الحدود على إمكانات Linux المسموح بها في الحاوية. راجِع امتياز وقت التشغيل وإمكانات نظام التشغيل Linux في وثائق Docker.

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

    chown -R 100:101 ~/.edgemicro/ \
    docker run -P -p 8000:8000 -d --name edgemicro \
    -v /var/tmp:/opt/apigee/logs \
    -e EDGEMICRO_PROCESS=1 \
    -e EDGEMICRO_ORG=docs \
    -e EDGEMICRO_ENV=test \
    -e EDGEMICRO_KEY=d9c34e1aff68ed969273b016699eabf48780e4f652242e72fc88a23e21252cb0 \
    -e EDGEMICRO_SECRET=3bc95a71c86a3c8ce04137fbcb788158731t51dfc6cdec13b7c05aa0bd969430 \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicro \
    --security-opt=no-new-privileges \
    --cap-drop=ALL \
    gcr.io/apigee-microgateway/edgemicro
  5. للتحقّق من أنّ الحاوية قيد التشغيل:

    docker ps

    ينبغي أن تظهر مُخرجات مشابهة لما يلي:

    CONTAINER ID    IMAGE         COMMAND                CREATED          STATUS          PORTS                                             NAMES
    8b92e082ea9c    edgemicro    "/tmp/entrypoint.sh"   12 minutes ago   Up 12 minutes    0.0.0.0:8000->8000/tcp, 0.0.0.0:32775->8443/tcp    edgemicro
    

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

بعد بدء تشغيل Edge Microgateway في الحاوية، يمكنك إجراء طلبات بيانات من واجهة برمجة التطبيقات إليها. على سبيل المثال، إذا كان المسار الأساسي لواجهة برمجة التطبيقات هو /hello:

http://localhost:8000/hello

عينة الناتج:

{"error":"missing_authorization","error_description":"Missing Authorization header"}

إذا ظهر لك هذا الرد، فهذا يعني أن Edge Microgateway قد تم التعامل معه بنجاح استدعاء واجهة برمجة التطبيقات. ومع ذلك، تتطلب Edge Microgateway بشكلٍ تلقائي مفتاح واجهة برمجة التطبيقات للمصادقة. في القسم التالي، ستختبر واجهة برمجة التطبيقات باستخدام مفتاح صالح لواجهة برمجة التطبيقات.

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

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

يمكنك طلب واجهة برمجة التطبيقات التي تتضمّن العنوان x-api-key على النحو التالي. قيمة مفتاح المستهلك التي الذي نسخته من تطبيق المطور هو مفتاح واجهة برمجة التطبيقات. بشكل افتراضي، Edge Microgateway عليك تمرير المفتاح في عنوان يُسمى x-api-key، على النحو التالي:

curl -i http://localhost:8000/hello -H "x-api-key:apikey"

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

curl -i http://localhost:8000/hello -H "x-api-key:PydUKRDGIXRqF2xh4usn1FLHbhGKVIz"

لمعرفة المزيد من المعلومات حول إجراء طلبات بيانات من واجهة برمجة التطبيقات تمت مصادقتها من خلال Edge Microgateway باستخدام مفاتيح واجهة برمجة التطبيقات ورموز OAuth المميزة، فاطلع على الجزء 4: مدخل Micro Edge المصغّر.

إيقاف المدخل الدقيق للحواف

استخدم أمر Docker التالي لإيقاف بوابة Edge Microgateway:

docker stop edgemicro

إعادة تشغيل Edge Microgateway

بعد إيقاف Edge Microgateway، يمكنك إعادة تشغيله باستخدام أمر Docker هذا:

docker start edgemicro

استخدام بروتوكول أمان طبقة النقل (TLS) في حاوية Docker

يوضح هذا القسم كيفية تهيئة بروتوكول أمان طبقة النقل (TLS) لـ Edge Microgateway الذي يعمل في حاوية Docker. يمكنك تهيئة خادم Edge Microgateway لاستخدام بروتوكول أمان طبقة النقل (TLS) للطلبات الواردة (الاتجاه الشمالي)، ويمكنك تهيئة Edge مدخل مصغّرة لتكون عميل بروتوكول أمان طبقة النقل (TLS) للطلبات الصادرة إلى نقاط النهاية المستهدفة (الاتجاه الخارجي).

مكان وضع ملفات الشهادات

تتضمّن حاوية Docker التي تشغّل بوابة Edge Microgateway نقطة تثبيت على /opt/apigee/.edgemicro. عند تهيئة Edge Microgateway لاستخدام شهادات بروتوكول أمان طبقة النقل (TLS)، يمكنك إجراء المتوفرة على نقطة التثبيت هذه وارجع إليها في ملف إعداد Edge Microgateway. يقع ملف الإعداد هذا عادةً في $HOME/.edgemicro الدليل، ويسمّى your_org-your_env-config.yaml. على سبيل المثال:

...
edgemicro:
  ssl:
   key: /opt/apigee/.edgemicro/southbound/tls.key
   cert: /opt/apigee/.edgemicro/southbound/tls.crt
...

استخدام مرجع تصديق غير موثوق به بواسطة Node.js

في حال استخدام مرجع تصديق (CA) غير موثوق به بشكل تلقائي Node.js (كما هو الحال مع شهادة موقعة ذاتيًا)، يمكنك استخدام المَعلمة NODE_EXTRA_CA_CERTS عند تشغيل الحاوية.

اضبط هذه المعلمة على المسار لملف يحتوي على معلمة أو أكثر شهادات موثوق بها بتنسيق PEM. لمعرفة كيفية استخدام هذه المعلمة، يمكنك مراجعة مثالان كيفية ضبط بروتوكول أمان طبقة النقل (TLS) باتجاه الشمال وكيفية ضبط بروتوكول أمان طبقة النقل (TLS) باتجاه الجنوب.

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

chown -R 100:101 ~/.edgemicro/ \
docker run -P -p 8443:8443 -d --name edgemicro \
-v $HOME/.edgemicro:/opt/apigee/.edgemicro \
-v $HOME/.edgemicro:/opt/apigee/logs \
-e NODE_EXTRA_CA_CERTS=/opt/apigee/.edgemicro/rootca.pem \
-e EDGEMICRO_PORT=8443 \
-e EDGEMICRO_ORG=docs \
-e EDGEMICRO_ENV=test \
-e EDGEMICRO_KEY=ac36574905fb54fdae65fc5433e831bec2680efb98220a355f2e917e52973c \
-e EDGEMICRO_SECRET=aac81dff6c326eaa222d53c15c8841fa78ea863bf4472568c9ce2d80a3bc56 \
-e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
--link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro

راجع أيضًا تشغيل Edge Micro كحاوية Docker.

إيقاف التحقق من بروتوكول أمان طبقة النقل (TLS)

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

  1. استنساخ أو نزّل مستودع مصدر Edge Microgateway من https://github.com/apigee-internal/microgateway

  2. cd إلى الدليل microgateway/kubernetes/docker/edgemicro في دليل رمز المصدر.

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

    cd $HOME/git/microgateway/kubernetes/docker/edgemicro
    
  3. افتح الملف entrypoint.sh وعدِّل الرمز لقبول NODE_TLS_REJECT_UNAUTHORIZED متغير البيئة. وفي وقت لاحق، عند تشغيل الحاوية، ستحدد قيمة لهذه المتغير.

  4. إنشاء حاوية Docker:

    docker build -t edgemicro .
    
  5. عند تشغيل الحاوية، حدِّد الخيار -e NODE_TLS_REJECT_UNAUTHORIZED = 1. على سبيل المثال:

chown -R 100:101 ~/.edgemicro/ \
docker run -P -p 8443:8443 -d --name edgemicro \
-v $HOME/.edgemicro:/opt/apigee/.edgemicro \
-v $HOME/.edgemicro:/opt/apigee/logs \
-e NODE_TLS_REJECT_UNAUTHORIZED = 1 \
-e EDGEMICRO_PORT=8443 \
-e EDGEMICRO_ORG=docs \
-e EDGEMICRO_ENV=test \
-e EDGEMICRO_KEY=ac36574905fb54fdae65fc5433e831bec2680efb98220a355f2e917e52973c \
-e EDGEMICRO_SECRET=aac81dff6c326eaa222d53c15c8841fa78ea863bf4472568c9ce2d80a3bc56 \
-e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
--link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro

مثال: كيفية تهيئة بروتوكول أمان طبقة النقل (TLS) باتجاه الشمال

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

1. خطوات الإعداد الأولية

  1. حدد موقع الملف openssl.cnf على نظامك. مثلاً: /etc/ssl/openssl.cnf
  2. افتح ملف opensssl.cnf لإجراء التعديل.
  3. تأكَّد من توفّر req_extensions في ملف الإعداد. على سبيل المثال، على معلومات مشابهة لما يلي في ملفك:

    [ req ]
    ...
    req_extensions          = v3_req
    ...
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
  4. أضِف الجملة التالية إلى openssl.cnf لإنشاء سمات إشارة اسم الخادم (SNI) الصحيحة:

    [ alt_names ]
    DNS.1 = www.example.com
    DNS.2 = example.com
    DNS.3 = localhost
    DNS.4 = localhost.localdomain
    DNS.5 = 127.0.0.1
    DNS.6 = ::1
    DNS.7 = fe80::1
    

    مثال على ملف opensssl.cnf:

    [ req ]
    distinguished_name      = req_distinguished_name
    attributes              = req_attributes
    req_extensions          = v3_req
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
    [ req_distinguished_name ]
    countryName                     = Country Name (2 letter code)
    countryName_min                 = 2
    countryName_max                 = 2
    stateOrProvinceName             = State or Province Name (full name)
    localityName                    = Locality Name (eg, city)
    0.organizationName              = Organization Name (eg, company)
    organizationalUnitName          = Organizational Unit Name (eg, section)
    commonName                      = Common Name (eg, fully qualified host name)
    commonName_max                  = 64
    emailAddress                    = Email Address
    emailAddress_max                = 64
    
    [ req_attributes ]
    challengePassword               = A challenge password
    challengePassword_min           = 4
    challengePassword_max           = 20
    
    [ alt_names ]
    DNS.1 = www.example.com
    DNS.2 = example.com
    DNS.3 = localhost
    DNS.4 = localhost.localdomain
    DNS.5 = 127.0.0.1
    DNS.6 = ::1
    DNS.7 = fe80::1
    
  5. اتبع الخطوات الواردة في قسم المتطلبات الأساسية للتهيئة عليك ضبط Edge Microgateway، إذا لم يسبق لك إجراء ذلك. عند الانتهاء، إنشاء خادم وكيل، مثل Edge Microgateway، أو منتج واجهة برمجة التطبيقات، أو وتطبيق مطور برامج. بالإضافة إلى ذلك، يجب أن تكون قد شغّلت الأمر edgemicro configure وحصلت على مفتاح وسر.

2. إنشاء شهادات موقعة ذاتيًا

بعد ذلك، أنشئ الشهادات والمفاتيح التي ستحتاجها لإنشاء بروتوكول أمان طبقة النقل (TLS):

  1. cd إلى الدليل $HOME/.edgemicro.
  2. أنشئ النص البرمجي bash التالي. يمكنك تسميته أي شيء تريده. مثل: keygen.sh

    #!/bin/bash
    # generate ca
    openssl genrsa -out rootca.key 2048
    openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem
    # generate key
    openssl genrsa -out tls.key 2048
    openssl req -new -key tls.key -out tls.csr
    # sign cert
    openssl x509 -req -in tls.csr -CA rootca.pem -CAkey rootca.key -CAcreateserial -out tls.crt -days 1024 -sha256 -extensions 'v3_req' -extfile path/openssl.cnf
    
  3. في ملف bash، تأكَّد من صحة المسار إلى ملف openssl.cnf.

  4. نفِّذ ملف bash. سيُطلب منك إدخال معلومات الشهادة. تأكد من استخدام localhost للاسم الشائع.

  5. تحقَّق من إنشاء الملفات التالية:

    • rootca.key
    • rootca.pem
    • tls.key
    • tls.csr
    • rootca.srl
    • tls.crt

3- تعديل ملف إعداد Edge Microgateway

  1. افتح ملف تهيئة Edge Micro في محرر. على سبيل المثال:

    vi $HOME/.edgemicro/myorg-test-config.yaml
    
  2. عدِّل نص edgemicro على النحو التالي. يُرجى العلم أنّه يتم إجراء تغييرات إلى السمتَين port وssl:

    edge_config:
    ...
    edgemicro:
      port: 8443
      max_connections: 1000
      config_change_poll_interval: 600
      ssl:
        key: /opt/apigee/.edgemicro/tls.key
        cert: /opt/apigee/.edgemicro/tls.crt
        passphrase: admin123
        rejectUnauthorized: true
        requestCert: false
      logging:
    ...
    
  3. نفّذ الأمر التالي لتشفير ملف إعداد Edge Microgateway موجود في $HOME/.edgemicro:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    حيث يمثل كل من your_org وyour_env المؤسسة والبيئة اللذين استخدمتهما عند تم تشغيل الأمر edgemicro config.

    تذكر وضع علامات فاصلة عليا (`) حول الأمر. على سبيل المثال:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`

راجع أيضًا، تشغيل Edge Micro كحاوية Docker.

4. تشغيل الحاوية

  1. نفذ الأمر التالي لتشغيل حاوية Docker باستخدام بوابة Edge Microgateway:

    chown -R 100:101 ~/.edgemicro/ \
    docker run -P -p 8443:8443 -d --name edgemicro \
    -v path_to_your_edgemicro_dir:/opt/apigee/.edgemicro \
    -v path_to_your_logs_dir:/opt/apigee/logs \
    -e NODE_EXTRA_CA_CERTS=/opt/apigee/.edgemicro/rootca.pem \
    -e EDGEMICRO_PORT=8443 \
    -e EDGEMICRO_ORG=$EDGEMICRO_ORG \
    -e EDGEMICRO_ENV=$EDGEMICRO_ENV \
    -e EDGEMICRO_KEY=$EDGEMICRO_KEY \
    -e EDGEMICRO_SECRET=$EDGEMICRO_SECRET \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    gcr.io/apigee-microgateway/edgemicro:latest
    
  2. لاحظ المعلَمات التالية المستخدمة في الأمر: تختلف عن المبادئ الأساسية الموضح في تشغيل Edge Micro كحاوية Docker.

    • تم ضبط port على 8443.
    • يُستخدَم مستوى تثبيت الصوت لتثبيت المفتاح وملفات الشهادة.
    • يُستخدم المتغيّر NODE_EXTRA_CA_CERTS لإضافة مرجع تصديق مخصّص (حسب الحاجة في حالة الطلب). الشهادات الموقعة ذاتيًا).

5- اختبار ضبط بروتوكول أمان طبقة النقل (TLS)

  1. نفِّذ أمر cURL التالي لاختبار الإعداد. بديل مفتاح basepath ومفتاح واجهة برمجة التطبيقات في الأمر. يفترض المثال التالي أنك في الدليل حيث يقع rootca.pem وأنّ الخادم الوكيل الذي أنشأته يتضمّن المسار الأساسي /hello:

    curl -v https://localhost:8443/hello --cacert rootca.pem \
    -H "x-api-key: Az82fdnfONVCOOE4NKhajxAboDgA3FAo"
    
  2. يعرض ناتج cURL المطوّل كل خطوة من تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS). إذا ظهرت لك استجابة HTTP 200، يعني هذا أنّ عملية الضبط نجحت:

    *   Trying ::1...ey:Az82fdnfONVCOOE4NKhajxAboDgA3FAo"
    * TCP_NODELAY set
    * Connected to localhost (::1) port 8443 (#0)
    * ALPN, offering h2
    * ALPN, offering http/1.1
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
    * successfully set certificate verify locations:
    *   CAfile: rootca.pem
      CApath: none
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Client hello (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
    * ALPN, server accepted to use http/1.1
    * Server certificate:
    *  subject: C=US; ST=CO; L=Boulder; O=Docs; OU=Docs; CN=localhost; emailAddress=docs@apigee.com
    *  start date: Dec 14 22:35:28 2018 GMT
    *  expire date: Oct  3 22:35:28 2021 GMT
    *  common name: localhost (matched)
    *  issuer: C=US; ST=CO; L=Boulder; O=Docs; OU=Docs; CN=localhost; emailAddress=docs@apigee.com
    *  SSL certificate verify ok.
    > GET /hello HTTP/1.1
    > Host: localhost:8443
    > User-Agent: curl/7.54.0
    > Accept: */*
    > x-api-key:Az82fdnfaONVCOE4NKhajxAboDA3FAo
    >
    < HTTP/1.1 200 OK
    < x-powered-by: Apigee
    < access-control-allow-origin: *
    < x-frame-options: ALLOW-FROM RESOURCE-URL
    < x-xss-protection: 1
    < x-content-type-options: nosniff
    < content-type: text/plain; charset=utf-8
    < etag: W/"d-GHB1ZrJKk/wdVTdB/jgBsw"
    < date: Fri, 14 Dec 2018 22:43:13 GMT
    < via: 1.1 google
    < alt-svc: clear
    < x-response-time: 1325
    < Connection: keep-alive
    < Transfer-Encoding: chunked
    <
    * Connection #0 to host localhost left intact
    Hello, Guest!
    

مثال: كيفية ضبط بروتوكول أمان طبقة النقل (TLS) في المنطقة الجنوبية

يوضح هذا القسم كيفية إعداد اتصال TLS (الصادر) في اتجاه الجنوب بين خادم Edge Microgateway وتطبيق هدف خلفية. يستخدم المثال أدناه الشهادات الموقعة ذاتيًا.

1. خطوات الإعداد الأوّلية

  1. حدد موقع الملف openssl.cnf على نظامك. مثلاً: /etc/ssl/openssl.cnf
  2. افتح ملف opensssl.cnf لإجراء التعديل.
  3. تأكَّد من توفّر req_extensions في ملف الإعداد. على سبيل المثال، على معلومات مشابهة لما يلي في ملفك:

    [ req ]
    ...
    req_extensions          = v3_req
    ...
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
  4. أضِف الجملة التالية إلى openssl.cnf لإنشاء سمات إشارة اسم الخادم (SNI) الصحيحة:

    [ alt_names ]
    DNS.1 = helloworld
    DNS.2 = localhost
    DNS.3 = localhost.localdomain
    DNS.4 = 127.0.0.1
    DNS.5 = ::1
    DNS.6 = fe80::1
    

    مثال على ملف opensssl.cnf:

    [ req ]
    distinguished_name      = req_distinguished_name
    attributes              = req_attributes
    req_extensions          = v3_req
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
    [ req_distinguished_name ]
    countryName                     = Country Name (2 letter code)
    countryName_min                 = 2
    countryName_max                 = 2
    stateOrProvinceName             = State or Province Name (full name)
    localityName                    = Locality Name (eg, city)
    0.organizationName              = Organization Name (eg, company)
    organizationalUnitName          = Organizational Unit Name (eg, section)
    commonName                      = Common Name (eg, fully qualified host name)
    commonName_max                  = 64
    emailAddress                    = Email Address
    emailAddress_max                = 64
    
    [ req_attributes ]
    challengePassword               = A challenge password
    challengePassword_min           = 4
    challengePassword_max           = 20
    
    [ alt_names ]
    DNS.1 = helloworld
    DNS.2 = localhost
    DNS.3 = localhost.localdomain
    DNS.4 = 127.0.0.1
    DNS.5 = ::1
    DNS.6 = fe80::1
    
  5. شغِّل الأمر edgemicro configure:

    edgemicro configure -o your_org -e your_env -u your_username

    للحصول على مزيد من التفاصيل حول التهيئة، اطلع على الجزء 1: تهيئة Edge Microgateway.

  6. انسخ بيانات الاعتماد الرئيسية والسرية التي تم إرجاعها من edgemicro configure ستحتاج إلى هذه القيم لتشغيل الحاوية. على سبيل المثال:

    The following credentials are required to start edge micro
      key: d9c34e1aff68ed969273c016699eabf48780e4f652242e72fc88a43e21252cb0
      secret: 3bc95a71c86a3c8ce04537fbcb788158731t51dfc6cdec13b7c05aa0bd969430
    

2. إنشاء تطبيق هدف Node.js

  1. cd إلى الدليل .edgemicro.

  2. أنشئ النص البرمجي bash التالي. يمكنك تسميته أي شيء تريده. مثل: keygen.sh

    #!/bin/bash
    # generate ca
    openssl genrsa -out rootca.key 2048
    openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem
    # generate key
    openssl genrsa -out tls.key 2048
    openssl req -new -key tls.key -out tls.csr
    # sign cert
    openssl x509 -req -in tls.csr -CA rootca.pem -CAkey rootca.key -CAcreateserial -out tls.crt -days 1024 -sha256 -extensions 'v3_req' -extfile path/openssl.cnf
    
  3. في ملف bash، تأكَّد من صحة المسار إلى ملف openssl.cnf.

  4. نفِّذ ملف bash. سيُطلب منك إدخال معلومات الشهادة. تأكد من استخدام hellworld للاسم الشائع.

  5. تحقَّق من إنشاء الملفات التالية:

    • rootca.key
    • rootca.pem
    • tls.key
    • tls.csr
    • rootca.srl
    • tls.crt
  6. أنشِئ ملفًا جديدًا باسم "server.js".

    'use strict';
    
    const express = require('express');
    const https = require('https');
    const fs = require('fs');
    
    const options = {
      key: fs.readFileSync("tls.key"),
      cert: fs.readFileSync("tls.crt")
    };
    
    // Constants
    const PORT = 9443;
    const HOST = '0.0.0.0';
    
    // App
    const app = express();
    app.get('/', (req, res) => {
      res.send('Hello world\n');
    });
    
    https.createServer(options, app).listen(PORT);
    
  7. أنشئ ملف package.json في الدليل نفسه مثل server.js. على سبيل المثال:

    {
      "name": "helloworld",
      "version": "1.0.0",
      "description": "",
      "main": "server.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node server.js"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "express": "^4.16.4",
        "fs": "0.0.1-security",
        "https": "^1.0.0"
      }
    }
    
  8. شغِّل npm install للحصول على الاعتماديات.

  9. يمكنك إنشاء ملف شامل جديد في الدليل نفسه، مثل server.js، حيث يتم تضمين WORKDIR. هو المسار إلى جذر تطبيق Node.js:

    FROM node:8-alpine
    WORKDIR path-to-your-node-app
    COPY package*.json ./
    
    RUN npm install
    COPY . .
    EXPOSE 9443
    CMD [ "npm", "start" ]
    
  10. إنشاء صورة Docker:

    docker build -t helloworld . 
    
  11. ابدأ تشغيل نموذج التطبيق:

    docker run -P -p 9443:9443 --name helloworld helloworld
    

3- إنشاء كيانات في Apigee Edge

  1. يمكنك إنشاء خادم وكيل متوافق مع Edge Microgateway باستخدام هذه الإعدادات. لمزيد من المعلومات راجِع إنشاء خادم وكيل لواجهة برمجة التطبيقات Microgateway-aware على Edge على Edge.

    • اسم الخادم الوكيل: edgemicro_local
    • النسخة السابقة: 1
    • المسار الأساسي: /local
    • القيمة المُستهدفة: https://helloworld:9443
  2. أنشئ منتج واجهة برمجة تطبيقات. لمعرفة التفاصيل، يُرجى الاطّلاع على إنشاء منتج.

  3. أنشئ مطورًا. لمعرفة التفاصيل، يُرجى الاطّلاع على إنشاء مطوِّر.

  4. أنشِئ تطبيق مطوِّر. لمعرفة التفاصيل، يُرجى الاطّلاع على إنشاء تطبيق مطوِّر.

4. تشغيل الحاوية

  1. افتح ملف تهيئة Edge Micro في محرر. على سبيل المثال:

    vi $HOME/.edgemicro/myorg-test-config.yaml
    
  2. عدِّل نص edgemicro على النحو التالي. يُرجى العلم أنّه يتم إجراء تغييرات إلى السمتَين port وssl:

    edge_config:
    ...
    edgemicro:
      port: 8443
      max_connections: 1000
      config_change_poll_interval: 600
      ssl:
        key: /opt/apigee/.edgemicro/tls.key
        cert: /opt/apigee/.edgemicro/tls.crt
        passphrase: admin123
        rejectUnauthorized: true
        requestCert: false
      logging:
    ...
    
  3. نفِّذ الأمر التالي لترميز base64 لملف إعداد Edge Microgateway المتوفّر في $HOME/.edgemicro:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    حيث يمثل كل من your_org وyour_env المؤسسة والبيئة اللذين استخدمتهما عند تم تشغيل الأمر edgemicro config.

    تذكر وضع علامات فاصلة عليا (`) حول الأمر. على سبيل المثال:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`
  4. شغّل الأمر التالي لبدء Edge Microgateway في حاوية Docker.

    chown -R 100:101 ~/.edgemicro/ \
    docker run -P -p 8443:8443 -d --name edgemicro \
    -v path_to_your_edgemicro_dir:/opt/apigee/.edgemicro \
    -v path_to_your_logs_dir:/opt/apigee/logs \
    -e EDGEMICRO_PORT=8443 \
    -e EDGEMICRO_ORG=$EDGEMICRO_ORG \
    -e EDGEMICRO_ENV=$EDGEMICRO_ENV \
    -e EDGEMICRO_KEY=$EDGEMICRO_KEY \
    -e EDGEMICRO_SECRET=$EDGEMICRO_SECRET \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    --link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro
    

5- اختبار ضبط بروتوكول أمان طبقة النقل (TLS)

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

    curl https://localhost:8443/local -k -H "x-api-key: xxxx" -v
    

    من المفترض أن يظهر لك هذا الخطأ:

    ...
    *  subject: C=CA; ST=Ontario; L=Toronto; O=Google Canada; OU=Google Cloud Platform; CN=edgemicro; emailAddress=srinandans@google.com
    *  start date: Dec 10 02:12:22 2018 GMT
    *  expire date: Sep 29 02:12:22 2021 GMT
    *  issuer: C=CA; ST=Ontario; L=Toronto; O=Google Canada; OU=Google Cloud Platform; CN=edgemicro; emailAddress=srinandans@google.com
    *  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
    > GET /local HTTP/1.1
    > Host: localhost:8443
    > User-Agent: curl/7.54.0
    > Accept: */*
    > x-api-key: 9fVC65pFj8LrmlPmVyxFjx4KgAHTxqSd
    >
    < HTTP/1.1 502 Bad Gateway
    < Date: Wed, 12 Dec 2018 05:25:01 GMT
    < Connection: keep-alive
    < Content-Length: 93
    <
    * Connection #0 to host localhost left intact
    {"message":"unable to verify the first certificate","code":"UNABLE_TO_VERIFY_LEAF_SIGNATURE"}
    
  2. أعِد تشغيل Edge Microgateway، ولكن أضِف هذه المرة المتغيّر NODE_EXTRA_CA_CERTS.

    chown -R 100:101 ~/.edgemicro/ \
    docker run -P -p 8443:8443 -d --name edgemicro \
    -v path_to_your_edgemicro_dir:/opt/apigee/.edgemicro \
    -v path_to_your_logs_dir:/opt/apigee/logs \
    -e NODE_EXTRA_CA_CERTS=/opt/apigee/.edgemicro/rootca.pem \
    -e EDGEMICRO_PORT=8443 \
    -e EDGEMICRO_ORG=$EDGEMICRO_ORG \
    -e EDGEMICRO_ENV=$EDGEMICRO_ENV \
    -e EDGEMICRO_KEY=$EDGEMICRO_KEY \
    -e EDGEMICRO_SECRET=$EDGEMICRO_SECRET \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    --link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro
    
  3. نفِّذ أمر cURL التالي. بديل المسار الأساسي ومفتاح واجهة برمجة التطبيقات كما كان من قبل. على سبيل المثال:

    curl https://localhost:8443/local -k -H "x-api-key: xxxx" -v
    
  4. تحقَّق من الناتج. في حال نجاح عملية الإعداد، ستحصل على استجابة حالة HTTP 200:

    ...
    > GET /local HTTP/1.1
    > Host: localhost:8443
    > User-Agent: curl/7.54.0
    > Accept: */*
    > x-api-key: 9fVC65pFj8LrmlPmVyxFjx4KgAHTxqSd
    >
    < HTTP/1.1 200 OK
    < x-powered-by: Express
    < content-type: text/html; charset=utf-8
    < etag: W/"c-M6tWOb/Y57lesdjQuHeB1P/qTV0"
    < date: Wed, 12 Dec 2018 05:49:28 GMT
    < x-response-time: 421
    < Connection: keep-alive
    < Transfer-Encoding: chunked
    <
    Hello world
    

إضافة مكوّن إضافي مخصص

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

لديك خياران لنشر المكونات الإضافية على بوابة Edge Microgateway مثيل يتم تشغيله في حاوية Docker:

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

الخيار أ: تثبيت دليل المكوّنات الإضافية على وحدة تخزين

(تمت الإضافة في الإصدار 2.5.27) خطوات إضافة مكونات إضافية من خلال تثبيت مستوى الصوت هي على غرار الخطوات المطلوبة لإضافة أي مكوّن إضافي مخصص إلى Edge Microgateway. فعندما في وضع Docker، يمكنك تثبيت دليل المكوّنات الإضافية على (مستوى الصوت) على نقطة تثبيت الحاوية، وهي /opt/apigee/plugins. يمكنك بعد ذلك تحديد دليل وحدة التخزين المحلي في ملف إعداد Edge Microgateway.

توضّح الخطوات التالية كيفية استخدام نقطة تثبيت Docker لتضمين المكونات الإضافية.

  1. إيقاف Edge Microgateway:

    edgemicro stop
    
  2. أنشئ دليلاً للمكونات الإضافية المخصّصة. على سبيل المثال، قم بإنشاء

    $HOME/edgemicro/custom/plugins
    
  3. أضف دليل المكون الإضافي المخصص إلى ملف تهيئة Edge Microgateway. على سبيل المثال:

      plugins:
        dir: $HOME/edgemicro/custom/plugins
        sequence:
          - oauth
          - response-uppercase
      ````
    
  4. اكتب المكوّن الإضافي واختبره، وفقًا للتوجيهات الواردة في كتابة مكوّن إضافي بسيط. تأكد من ضع رمز المكون الإضافي في هيكل الدليل المناسب. على سبيل المثال:

    custom
      |
      |-- plugins
        |
        |- response-uppercase
        |     |- index.js
        |     |- package.json
        |- request-headers
        |     | - index.js
              | - package.json
    
  5. شغّل حاوية Docker باستخدام أمر مشابه للأمر التالي، حيث استخدِم الخيار -v لتثبيت دليل المكوّنات الإضافية على وحدة تخزين Docker. في جلسة المعمل، بعد مثال الأمر، دليل المكوّنات الإضافية $HOME/edgemicro/custom/plugins (حيث يوجد المكوّن الإضافي المخصَّص) يتم تعيينه بنقطة تثبيت الحاوية /opt/apigee/plugins:

    chown -R 100:101 ~/.edgemicro/ \
    docker run -P -p 8000:8000 -d --name edgemicro \
    -v /var/tmp:/opt/apigee/logs \
    -v $HOME/edgemicro/custom/plugins:/opt/apigee/plugins \
    -e EDGEMICRO_PROCESSES=1 \
    -e EDGEMICRO_ORG=jdoe \
    -e EDGEMICRO_ENV=test \
    -e EDGEMICRO_KEY=39c4b561100cd7f258768d1072f3e1d7c17b5f36a18fe89972bb5c9ce7e58fb \
    -e EDGEMICRO_SECRET=f5f9e239a38b4e6cc99c2aa067716a84aebdcff9580a7925fc500e402b1a5fa \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicro \
    --security-opt=no-new-privileges \
    --cap-drop=ALL gcr.io/apigee-microgateway/edgemicro:latest
    
  6. يمكنك طلب واجهة برمجة التطبيقات لاختبار المكوّن الإضافي.

لمزيد من المعلومات، اطلع على VOLUME [أنظمة الملفات المشتركة].

الخيار ب: إنشاء المكوّنات الإضافية في الحاوية

في هذا الخيار، يمكنك إنشاء المكونات الإضافية في حاويتك.

1. حزمة المكونات الإضافية

  1. اكتب المكوّن الإضافي واختبره، وفقًا للتوجيهات الواردة في كتابة مكوّن إضافي بسيط.

  2. ضع رمز المكون الإضافي في هيكل الدليل المناسب. يجب أن تتبع أدلة المكونات الإضافية بنية محددة. يوضّح المثال التالي البنية التي يجب اتّباعها، حيث يمثل كل من response-uppercase وrequest-headers أسماء المجلدات التي تحتوي على رمز مكون إضافي مخصص (هذه الأسماء هي أمثلة فقط، وقد تختلف أسماء المجلدات):

    plugin
      |
      |-- plugins
        |
        |- response-uppercase
        |     |- index.js
        |     |- package.json
        |- request-headers
        |     | - index.js
              | - package.json
    
  3. cd إلى المجلد plugin

  4. في المجلد plugin، اضغط على المجلد plugins بالكامل:

    zip -r plugins.zip plugins/

2. إنشاء صورة Docker

بعد ذلك، قم بإنشاء ملف Dockerfile لإضافة رمز المكون الإضافي إلى صورة Edge Microgateway.

  1. في الدليل نفسه الذي يوجد فيه ملف ZIP، أنشئ ملفًا جديدًا باسم Dockerfile.
  2. أضِف الرمز التالي إلى Dockerfile واحفظ الملف:

    USER root
    RUN apk update && \
        apk upgrade && \
        apk add zipapk add zip && \
        mkdir /opt/apigee/customplugins && \
        chown apigee:apigee /opt/apigee/customplugins
    COPY plugins.zip /opt/apigee/customplugins
    RUN su - apigee -c "unzip /opt/apigee/customplugins/plugins.zip -d /opt/apigee/customplugins"
    EXPOSE 8000
    EXPOSE 8443
    USER apigee
    ENTRYPOINT ["entrypoint"]
    
  3. أنشئ صورة جديدة على Edge Microgateway Docker باستخدام المكونات الإضافية التالية:

    docker build -t image-name .
    

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

    docker build -t edgemicroplugins .
    

3- تعديل إعدادات Edge Microgateway

الآن بعد أن تم تجميع المكونات الإضافية، ستحتاج إلى إضافتها إلى بوابة Edge Microgateway ملف الإعداد.

  1. افتح ملف تهيئة Edge Microgateway في محرر:

    $HOME/.edgemicro/org-env-config.yaml
    

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

    vi $HOME/.edgemicro/myorg-test-config.yaml
  2. أضِف دليل المكوّن الإضافي إلى ملف الإعداد. في المثال التالي تحدد السمة dir موقع رمز المكون الإضافي (الذي حددته في الملف الشامل). كما يجب عليك تحديد اسم دليل المكونات الإضافية، والذي في المثال أدناه هي response-uppercase.

    edgemicro:
      ...
      plugins:
        dir: /opt/apigee/plugins
        sequence:
          - oauth
          - response-uppercase
    

4. بدء المدخل المصغّر

وأخيرًا، يجب أن تبدأ المدخل الصغير في الحاوية.

  1. شغّل الأمر التالي لتشفير ملف تهيئة Edge Microgateway موجود في $HOME/.edgemicro:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    حيث يمثل كل من your_org وyour_env المؤسسة والبيئة اللذين استخدمتهما عند تم تشغيل الأمر edgemicro config.

    تذكر وضع علامات فاصلة عليا (`) حول الأمر. على سبيل المثال:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`
  2. شغِّل Edge Microgateway كحاوية. يضبط الأمر متغيرات بيئة متعددة. التي يستخدمها وقت تشغيل الحاوية لبدء بوابة Edge Microgateway:

    docker run -P -p 8000:8000 -d --name edgemicroplugins \
    -e EDGEMICRO_PLUGIN_DIR=/opt/apigee/customplugins/plugins \
    -e EDGEMICRO_ORG=your_org \
    -e EDGEMICRO_ENV=your_env \
    -e EDGEMICRO_KEY=your_key \
    -e EDGEMICRO_SECRET=your_secret \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicroplugins image_name

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

    docker run -P -p 8000:8000 -d --name edgemicroplugins \
    -e EDGEMICRO_PLUGIN_DIR=/opt/apigee/customplugins/plugins \
    -e EDGEMICRO_ORG=docs \
    -e EDGEMICRO_ENV=test \
    -e EDGEMICRO_KEY=d9c34e1aff68ed969273b016699eabf48780e4f652242e72fc88a23e21252cb0 \
    -e EDGEMICRO_SECRET=3bc95a71c86a3c8ce04137fbcb788158731t51dfc6cdec13b7c05aa0bd969430 \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicroplugins edgemicroplugins
  3. يمكنك الاتصال بواجهة برمجة التطبيقات لاختبار المكوّن الإضافي:

    اختبر تنفيذ رمز المكون الإضافي من خلال استدعاء واجهة برمجة التطبيقات والتحقق من أن كما هو متوقع:

    curl -i http://localhost:8000/hello -H "x-api-key:apikey"

    على سبيل المثال، قد يعرض المكوّن الإضافي response-uppercase إجابة كالتالي:

    curl -i http://localhost:8000/hello -H "x-api-key:PydUKRDGIXRqF2xh4usn1FLHbhGKVIz"
      HELLO, WORLD!