شما در حال مشاهده اسناد 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 را ایجاد کنید (یا ایجاد کرده باشید) که برای برقراری تماس های پروکسی API احراز هویت شده مورد نیاز هستند. این موجودیت ها شامل یک پروکسی Edge Microgateway، یک محصول API، یک Developer و یک Developer App است. برای دستورالعملهای کامل، به ایجاد موجودیتها در Apigee Edge مراجعه کنید.
Edge Micro را به عنوان یک ظرف Docker اجرا کنید
دانلود تصویر Docker برای Edge Microgateway:
docker pull gcr.io/apigee-microgateway/edgemicro:latest
قبل از اینکه به مراحل بعدی بروید، مطمئن شوید که تمام مراحل در قسمت پیش نیازها را انجام داده اید.
دستور زیر را اجرا کنید تا فایل پیکربندی Edge Microgateway که در
$HOME/.edgemicroقرار دارد را در base64-encode کنید: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 Microgateway را به عنوان یک ظرف اجرا کنید. این دستور چندین متغیر محیطی را تنظیم می کند که توسط Container Runtime برای راه اندازی 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 "LOG_CONSOLE_OUTPUT_TO_FILE=false" \ -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 پیکربندی میکنید، در صورت مونت کردن فهرست فایل log، باید پورت 8443 را در معرض نمایش قرار دهید. همچنین VOLUME [فایل سیستمهای مشترک] را ببینید. همچنین استفاده از TLS در کانتینر Docker را ببینید. -w, -- workdir(اختیاری) مسیر دایرکتوری را مشخص می کند که فایل های edgemicro.sockوedgemicro.pidباید در آن ایجاد شوند. شما نمی توانید نام فایل rootedgemicroرا تغییر دهید. به طور پیش فرض مسیر دایرکتوری کاری فعلی است.مثال:
docker run -P -p 8000:8000 -d -w /tmp --name edgemicro
...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. LOG_CONSOLE_OUTPUT_TO_FILE(بولی) به شما امکان می دهد محل ارسال خروجی گزارش را مشخص کنید. به تعیین گزینه های فایل گزارش مراجعه کنید. <tr> <td><code>SERVICE_NAME</code></td> <td>If you are on Kubernetes, this parameter is auto-populated. Otherwise, you can set it to anything you wish. If you specify nothing, the service name is set to <code>default</code>.</td> </tr> <tr> <tr> <td><code>DEBUG</code></td> <td>Set to <code>*</code> to enable debugging. </td> </tr> <tr> <td><code>HTTP_PROXY</code> <code>HTTPS_PROXY</code></td> <td>Use when Edge Microgateway is running behind a firewall and the gateway cannot communicate with Apigee Edge. For more information, see <a href="operation-and-configuration-reference-edge-microgateway#settingupedgemicrogatewaybehindacompanyfirewall">Setting up Edge Microgateway behind a company firewall</a>. <p>For example: <code>HTTP_PROXY=http://10.203.0.1:5187/</code></p></td> </tr> <tr> <td><code>NO_PROXY</code></td> <td>A comma delimited list of domains that Edge Microgateway should not proxy to. For more information, see <a href="operation-and-configuration-reference-edge-microgateway#settingupedgemicrogatewaybehindacompanyfirewall">Setting up Edge Microgateway behind a company firewall</a>. <p>For example: <code>localhost,127.0.0.1,localaddress,.localdomain.com</code></p></td> </tr> <tr> <tr> <tr> <td><code>NODE_EXTRA_CA_CERTS</code></td> <td>(Optional) Use this parameter if you are using a CA that's not trusted by default by Node.js. Set the value of this parameter to the path to a file containing one or more trusted certificates in PEM format. For details, see <a href="#tls_certificates">TLS certificates</a>.</td> </tr> <tr> <td><code>--security-opt</code></td> <td>(Optional) Sets desired Docker security options. See <a href="https://docs.docker.com/engine/reference/run/#security-configuration">Security configuration</a> in the Docker documentation.</td> </tr> <tr> <td><code>--cap-drop</code></td> <td>(Optional) Sets limits on Linux capabilities permitted in the container. See <a href="https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities">Runtime privilege and Linux capabilities</a> in the Docker documentation.</td> </tr> </tbody>به عنوان مثال:
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برای بررسی اینکه کانتینر در حال اجرا است:
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
تعیین گزینه های خروجی فایل log
پارامتر پیکربندی Edge Microgateway to_console به شما امکان می دهد اطلاعات گزارش را به جای فایل گزارش به خروجی استاندارد ارسال کنید. اگر مراحل اجرای Edge Microgateway را در یک کانتینر Docker دنبال کنید، کانتینر به طور پیشفرض خروجی stdout و خطا را به فایلی که در کانتینر در مکان قرار دارد هدایت میکند:
${APIGEE_ROOT}/logs/edgemicro.log.برای جلوگیری از ارسال اطلاعات گزارش به
edgemicro.log، از متغیرLOG_CONSOLE_OUTPUT_TO_FILEهنگام اجرای کانتینر استفاده کنید.جدول زیر رفتار خروجی گزارش را هنگام استفاده از
LOG_CONSOLE_OUTPUT_TO_FILEباto_consoleشرح می دهد:to_console: trueLOG_CONSOLE_OUTPUT_TO_FILE=false- همانطور که در مدیریت فایل های گزارش توضیح داده شده است، هیچ گزارشی به فایل گزارش Edge Microgateway ارسال نمی شود.
- گزارشها به فایل
edgemicro.logارسال نمیشوند.
to_console: trueLOG_CONSOLE_OUTPUT_TO_FILE=true- همانطور که در مدیریت فایل های گزارش توضیح داده شده است، هیچ گزارشی به فایل گزارش Edge Microgateway ارسال نمی شود.
- گزارشها به فایل
edgemicro.logارسال میشوند.
to_console: falseLOG_CONSOLE_OUTPUT_TO_FILE=true- گزارشها همانطور که در مدیریت فایلهای گزارش توضیح داده شده است، به فایل گزارش Edge Microgateway ارسال میشوند.
- گزارشها به فایل
edgemicro.logارسال میشوند.
آزمایش یک تماس API
پس از راهاندازی Edge Microgateway در کانتینر، میتوانید با آن تماسهای API برقرار کنید. برای مثال، اگر مسیر پایه API شما
/helloباشد:http://localhost:8000/hello
خروجی نمونه:
{"error":"missing_authorization","error_description":"Missing Authorization header"}اگر این پاسخ را مشاهده کردید، به این معنی است که Edge Microgateway با موفقیت تماس API را انجام داده است. با این حال، به طور پیش فرض، Edge Microgateway به یک کلید API برای احراز هویت نیاز دارد. در بخش بعدی، API را با یک کلید API معتبر تست خواهید کرد.
یک API را با یک کلید API معتبر تست کنید
در رابط کاربری Edge، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید. در صفحه Developer App، Consumer Key را نشان داده و آن را کپی کنید. این مقدار کلید API است. از این کلید برای برقراری تماس های API احراز هویت شده استفاده خواهید کرد.
API را با هدر
x-api-keyبه صورت زیر فراخوانی کنید. مقدار کلید مصرف کننده که از برنامه توسعه دهنده کپی کرده اید، کلید API است. بهطور پیشفرض، 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"
اگر میخواهید درباره برقراری تماسهای API تأیید شده از طریق Edge Microgateway با کلیدهای API و نشانههای OAuth اطلاعات بیشتری کسب کنید، قسمت 4: Secure Edge Microgateway را ببینید.
Microgateway توقف لبه
برای متوقف کردن Edge Microgateway از دستور Docker زیر استفاده کنید:
docker stop edgemicroراه اندازی مجدد Edge Microgateway
پس از توقف Edge Microgateway، می توانید آن را با دستور Docker مجدداً راه اندازی کنید:
docker start edgemicroاستفاده از TLS در ظرف Docker
این بخش نحوه پیکربندی TLS را برای Edge Microgateway در حال اجرا در ظرف Docker توضیح می دهد. میتوانید سرور Edge Microgateway را طوری پیکربندی کنید که از TLS برای درخواستهای ورودی (جهت شمال) استفاده کند، و میتوانید Edge Microgateway را به گونهای پیکربندی کنید که یک کلاینت 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 ...استفاده از CA که مورد اعتماد Node.js نیست
اگر از یک Certificate Authority (CA) استفاده میکنید که بهطور پیشفرض توسط Node.js مورد اعتماد نیست (مانند موردی که در مورد گواهی امضا شده توسط خود وجود دارد)، هنگام اجرای کانتینر، از پارامتر
NODE_EXTRA_CA_CERTSاستفاده کنید.این پارامتر را روی مسیر یک فایل حاوی یک یا چند گواهی قابل اعتماد در قالب PEM تنظیم کنید. برای مشاهده نحوه استفاده از این پارامتر، به مثالهای How to configure Northbound TLS و How to configure southbound 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همچنین Run Edge Micro را به عنوان ظرف Docker مشاهده کنید.
غیرفعال کردن اعتبارسنجی TLS
اگرچه توصیه نمی شود، در برخی موارد ممکن است بخواهید اعتبارسنجی TLS را برای Edge Microgateway که در یک ظرف اجرا می شود غیرفعال کنید. قابلیت غیرفعال کردن TLS به طور پیش فرض در کانتینر Edge Microgateway Docker تعبیه نشده است. برای انجام این کار، باید یک تصویر Docker سفارشی برای Edge Microgateway ایجاد کنید. در زیر دستورالعملهای کلی برای ساخت تصویر سفارشی و غیرفعال کردن اعتبارسنجی TLS آمده است.
مخزن منبع Edge Microgateway را از
https://github.com/apigee-internal/microgatewayشبیه سازی یا دانلود کنید.cdبه دایرکتوریmicrogateway/kubernetes/docker/edgemicroدر دایرکتوری کد منبع.به عنوان مثال:
cd $HOME/git/microgateway/kubernetes/docker/edgemicroفایل
entrypoint.shرا باز کنید و کد را تغییر دهید تا متغیر محیطیNODE_TLS_REJECT_UNAUTHORIZEDرا بپذیرد. بعداً وقتی کانتینر را اجرا می کنید، مقداری برای این متغیر مشخص می کنید.کانتینر داکر را بسازید:
docker build -t edgemicro .وقتی کانتینر را اجرا می کنید، گزینه
-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 توضیح میدهد. Northbound TLS به مشتریان این امکان را می دهد که از HTTPS هنگام برقراری تماس های API با Edge Microgateway استفاده کنند. مثال زیر از گواهینامه های خودامضا استفاده می کند.
1. مراحل راه اندازی اولیه
- فایل
openssl.cnfرا در سیستم خود پیدا کنید. به عنوان مثال،/etc/ssl/openssl.cnf. - فایل
opensssl.cnfرا برای ویرایش باز کنید. مطمئن شوید که
req_extensionsدر فایل پیکربندی شما وجود دارد. به عنوان مثال، شما باید اطلاعاتی مشابه موارد زیر در فایل خود داشته باشید:[ req ] ... req_extensions = v3_req ... [ v3_req ] extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEnciphermentبند زیر را به
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اگر قبلاً این کار را نکرده اید، مراحل داده شده در بخش پیش نیازها را برای مقداردهی اولیه و پیکربندی Edge Microgateway دنبال کنید. پس از تکمیل، باید یک پروکسی آگاه از Edge Microgateway، یک محصول API، یک توسعه دهنده و یک برنامه توسعه دهنده ایجاد کرده باشید. علاوه بر این، باید دستور
edgemicro configureرا اجرا کرده و یک کلید و مخفی دریافت کرده باشید.
2. گواهی های خودامضا تولید کنید
در مرحله بعد، گواهی ها و کلیدهایی را که برای ایجاد TLS نیاز دارید، ایجاد کنید:
-
cdبه دایرکتوری$HOME/.edgemicro. اسکریپت 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
در فایل bash مطمئن شوید که مسیر فایل
openssl.cnfدرست است.فایل bash را اجرا کنید. اطلاعات گواهی از شما خواسته می شود. حتما
localhostبرای نام مشترک استفاده کنید.بررسی کنید که فایل های زیر ایجاد شده اند:
-
rootca.key -
rootca.pem -
tls.key -
tls.csr -
rootca.srl -
tls.crt
-
3. فایل پیکربندی Edge Microgateway را ویرایش کنید
فایل پیکربندی Edge Micro را در یک ویرایشگر باز کنید. به عنوان مثال:
vi $HOME/.edgemicro/myorg-test-config.yamlبند
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: ...دستور زیر را برای کدگذاری فایل پیکربندی Edge Microgateway واقع در
$HOME/.edgemicroدر base64 اجرا کنید: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`
همچنین به Run Edge Micro به عنوان یک ظرف Docker مراجعه کنید.
4. ظرف را اجرا کنید
دستور زیر را برای اجرای کانتینر 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
به پارامترهای زیر استفاده شده در دستور توجه کنید. آنها با دستور اصلی توضیح داده شده در Run Edge Micro به عنوان یک ظرف Docker متفاوت هستند.
-
portروی8443تنظیم شده است. - برای نصب کلید و فایلهای گواهی از پایه تنظیم صدا استفاده میشود.
- متغیر
NODE_EXTRA_CA_CERTSبرای افزودن یک CA سفارشی (در صورت نیاز در مورد گواهیهای خودامضا) استفاده میشود.
-
5. پیکربندی TLS را تست کنید
دستور cURL زیر را برای تست تنظیمات اجرا کنید. مسیر پایه و کلید API خود را با دستور جایگزین کنید. مثال زیر فرض میکند که شما در دایرکتوری هستید که
rootca.pemدر آن قرار دارد و پروکسی که ایجاد کردهاید مسیر پایه/helloرا دارد:curl -v https://localhost:8443/hello --cacert rootca.pem \ -H "x-api-key: Az82fdnfONVCOOE4NKhajxAboDgA3FAo"خروجی پیچیده 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. مراحل راه اندازی اولیه
- فایل
openssl.cnfرا در سیستم خود پیدا کنید. به عنوان مثال،/etc/ssl/openssl.cnf. - فایل
opensssl.cnfرا برای ویرایش باز کنید. مطمئن شوید که
req_extensionsدر فایل پیکربندی شما وجود دارد. به عنوان مثال، شما باید اطلاعاتی مشابه موارد زیر در فایل خود داشته باشید:[ req ] ... req_extensions = v3_req ... [ v3_req ] extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEnciphermentبند زیر را به
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دستور
edgemicro configureرا اجرا کنید:edgemicro configure -o your_org -e your_env -u your_username
برای جزئیات بیشتر در مورد پیکربندی، قسمت 1: پیکربندی Edge Microgateway را ببینید.
کلید و اعتبارنامه های مخفی را که از
edgemicro configureبرگردانده شده اند کپی کنید. برای اجرای کانتینر به این مقادیر نیاز دارید. به عنوان مثال:The following credentials are required to start edge micro key: d9c34e1aff68ed969273c016699eabf48780e4f652242e72fc88a43e21252cb0 secret: 3bc95a71c86a3c8ce04537fbcb788158731t51dfc6cdec13b7c05aa0bd969430
2. یک برنامه هدف Node.js ایجاد کنید
cdبه دایرکتوری.edgemicro.اسکریپت 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
در فایل bash مطمئن شوید که مسیر فایل
openssl.cnfدرست است.فایل bash را اجرا کنید. اطلاعات گواهی از شما خواسته می شود. حتماً از
hellworldبرای نام مشترک استفاده کنید.بررسی کنید که فایل های زیر ایجاد شده اند:
-
rootca.key -
rootca.pem -
tls.key -
tls.csr -
rootca.srl -
tls.crt
-
یک فایل جدید به نام
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);یک فایل
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" } }برای دریافت وابستگی ها
npm installاجرا کنید.یک Dockerfile جدید در همان دایرکتوری
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" ]
ساخت تصویر داکر:
docker build -t helloworld .برنامه نمونه را راه اندازی کنید:
docker run -P -p 9443:9443 --name helloworld helloworld
3. موجودیت ها را در Apigee Edge ایجاد کنید
با این تنظیمات یک پروکسی Edge Microgateway-aware ایجاد کنید. برای اطلاعات بیشتر، به ایجاد یک پروکسی API آگاه از Edge Microgateway در Edge مراجعه کنید.
- نام پروکسی:
edgemicro_local - بازبینی:
1 - مسیر پایه:
/local - هدف:
https://helloworld:9443
- نام پروکسی:
یک محصول API ایجاد کنید. برای جزئیات، به ایجاد یک محصول مراجعه کنید.
یک توسعه دهنده ایجاد کنید. برای جزئیات، به ایجاد یک توسعه دهنده مراجعه کنید.
یک برنامه توسعه دهنده ایجاد کنید. برای جزئیات، به ایجاد یک برنامه توسعه دهنده مراجعه کنید
4. ظرف را اجرا کنید
فایل پیکربندی Edge Micro را در یک ویرایشگر باز کنید. به عنوان مثال:
vi $HOME/.edgemicro/myorg-test-config.yamlبند
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: ...دستور زیر را برای کدگذاری فایل پیکربندی Edge Microgateway واقع در
$HOME/.edgemicroدر base64 اجرا کنید: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 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 را تست کنید
دستور cURL زیر را برای تست تنظیمات اجرا کنید. مسیر پایه ای را که در پروکسی microgateway-aware استفاده کرده اید و کلید API بدست آمده از برنامه Developer که در 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"}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
دستور cURL زیر را اجرا کنید. مسیر پایه و کلید API خود را مانند قبل جایگزین کنید. به عنوان مثال:
curl https://localhost:8443/local -k -H "x-api-key: xxxx" -vخروجی را بررسی کنید. در صورت موفقیت، یک پاسخ وضعیت 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
افزودن یک افزونه سفارشی
با نوشتن افزونه های سفارشی می توانید ویژگی ها و قابلیت های جدیدی را به microgateway اضافه کنید. پلاگین های سفارشی به شما امکان می دهند با درخواست ها و پاسخ هایی که از طریق microgateway جریان می یابند به صورت برنامه نویسی تعامل داشته باشید.
شما دو گزینه برای استقرار پلاگین ها در یک نمونه Edge Microgateway دارید که در یک کانتینر داکر اجرا می شود:
بقیه این بخش فرض می کند که شما با نوشتن و پیکربندی پلاگین ها برای راه اندازی استاندارد Edge Microgateway آشنا هستید. اگر نه، به توسعه افزونه های سفارشی مراجعه کنید.
گزینه A: دایرکتوری پلاگین ها را روی یک جلد قرار دهید
(افزوده شده در نسخه 2.5.27) مراحل اضافه کردن پلاگین ها از طریق یک ولوم مونت مشابه مراحل مورد نیاز برای افزودن هر پلاگین سفارشی به Edge Microgateway است. هنگامی که کانتینر Docker را اجرا می کنید، می توانید دایرکتوری پلاگین ها را در سیستم محلی خود (حجم) روی نقطه نصب کانتینر که
/opt/apigee/pluginsاست، نصب کنید. سپس دایرکتوری حجم محلی را در فایل پیکربندی Edge Microgateway مشخص کنید.مراحل زیر نحوه استفاده از نقطه اتصال Docker برای گنجاندن افزونه های سفارشی را نشان می دهد.
Stop Edge Microgateway:
edgemicro stopیک دایرکتوری برای پلاگین های سفارشی خود ایجاد کنید. برای مثال ایجاد کنید
$HOME/edgemicro/custom/pluginsدایرکتوری پلاگین سفارشی را به فایل پیکربندی Edge Microgateway اضافه کنید. به عنوان مثال:
plugins: dir: $HOME/edgemicro/custom/plugins sequence: - oauth - response-uppercase ````افزونه خود را با توجه به دستورالعمل های موجود در Write a simple plugin بنویسید و تست کنید. حتما کد پلاگین خود را در ساختار دایرکتوری مناسب قرار دهید. به عنوان مثال:
custom | |-- plugins | |- response-uppercase | |- index.js | |- package.json |- request-headers | | - index.js | - package.jsonکانتینر Docker را با دستوری شبیه به دستور زیر اجرا کنید، جایی که از گزینه
-vبرای مونت کردن دایرکتوری افزونه ها بر روی حجم داکر استفاده می کنید. در دستور مثال زیر، دایرکتوری پلاگینها$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برای تست افزونه با API خود تماس بگیرید.
برای اطلاعات بیشتر، VOLUME [فایل سیستمهای مشترک] را ببینید.
گزینه B: افزونه ها را در کانتینر بسازید
در این گزینه شما افزونه ها را در کانتینر خود می سازید.
1. پلاگین های خود را بسته بندی کنید
افزونه خود را با توجه به دستورالعمل های موجود در Write a simple plugin بنویسید و تست کنید.
کد پلاگین خود را در ساختار دایرکتوری مناسب قرار دهید. دایرکتوری های پلاگین باید از یک ساختار مجموعه پیروی کنند. مثال زیر ساختاری را نشان میدهد که باید از آن پیروی کنید، که در آن
response-uppercaseوrequest-headersنام پوشههایی هستند که حاوی کد افزونه سفارشی هستند (این نامها فقط نمونه هستند، نام پوشههای شما ممکن است متفاوت باشد):plugin | |-- plugins | |- response-uppercase | |- index.js | |- package.json |- request-headers | | - index.js | - package.jsoncdبه پوشهplugin.در پوشه
plugin، کل پوشهpluginsرا زیپ کنید:zip -r plugins.zip plugins/
2. یک تصویر Docker ایجاد کنید
سپس یک Dockerfile ایجاد کنید تا کد افزونه خود را به تصویر Edge Microgateway اضافه کنید.
- در همان فهرستی که فایل فشرده در آن قرار دارد، یک فایل جدید به نام
Dockerfileایجاد کنید. کد زیر را به
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"]با افزونه های خود یک تصویر جدید Edge Microgateway Docker ایجاد کنید:
docker build -t image-name .به عنوان مثال:
docker build -t edgemicroplugins .
3. پیکربندی Edge Microgateway را به روز کنید
اکنون که افزونه ها بسته شده اند، باید آنها را به فایل پیکربندی Edge Microgateway اضافه کنید.
فایل پیکربندی Edge Microgateway را در یک ویرایشگر باز کنید:
$HOME/.edgemicro/org-env-config.yaml
به عنوان مثال:
vi $HOME/.edgemicro/myorg-test-config.yaml
دایرکتوری افزونه را به فایل پیکربندی اضافه کنید. در مثال زیر مشخصه
dirمکان کد افزونه را مشخص می کند (که در Dockerfile مشخص کرده اید). همچنین باید نام دایرکتوری افزونه را مشخص کنید، که در مثال زیرresponse-uppercaseاست.edgemicro: ... plugins: dir: /opt/apigee/plugins sequence: - oauth - response-uppercase
4. میکرو گیت وی را راه اندازی کنید
در نهایت باید میکرو گیت وی را در ظرف راه اندازی کنید.
دستور زیر را اجرا کنید تا فایل پیکربندی Edge Microgateway که در
$HOME/.edgemicroقرار دارد را در base64-encode کنید: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 Microgateway را به عنوان یک ظرف اجرا کنید. این دستور چندین متغیر محیطی را تنظیم می کند که توسط Container Runtime برای راه اندازی 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
با API خود تماس بگیرید تا افزونه را آزمایش کنید:
با فراخوانی API خود و تأیید اینکه خروجی مطابق انتظار است، آزمایش کنید که کد افزونه اجرا میشود:
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!