راه اندازی و پیکربندی Edge Microgateway

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

Edge Microgateway نسخه 2.4.x

نمای کلی

این آموزش شما را از طریق مراحل مورد نیاز برای راه اندازی و اجرای یک نمونه از Edge Microgateway راهنمایی می کند.

پس از تکمیل مراحل در اینجا، یک نصب Edge Microgateway کاملاً پیکربندی شده و فعال خواهید داشت که می‌تواند درخواست‌های API را پردازش کند. راه‌اندازی را با برقراری تماس‌های ایمن API از طریق Edge Microgateway به هدف باطنی آزمایش خواهید کرد. همچنین یاد خواهید گرفت که چگونه یک پلاگین دستگیری اسپایک را به Microgateway اضافه کنید.

این راهنما به این بخش ها تقسیم می شود:

پیش نیاز: Edge Microgateway را نصب کنید

دستورالعمل‌های نصب Edge Microgateway را دنبال کنید. وقتی نصب را کامل کردید، آماده انجام مراحل این آموزش خواهید بود.

پس از اتمام نصب، به بخش بعدی، « بخش 1: پیکربندی Edge Microgateway » بروید.

قسمت 1: Edge Microgateway را پیکربندی کنید

در این قسمت از یک دستور رابط خط فرمان (CLI) برای پیکربندی Edge Microgateway برای برقراری ارتباط با Apigee Edge استفاده خواهید کرد. اگر از Apigee Edge Cloud استفاده می کنید، مراحل پیکربندی Apigee Edge Cloud را دنبال کنید. اگر در Apigee Private Cloud هستید، مراحل Apigee Edge Private Cloud را دنبال کنید.

مراحل پیکربندی Apigee Edge Cloud

برای استفاده از Edge Microgateway با Apigee Edge Cloud این مراحل را دنبال کنید:

  1. اگر قبلاً این کار را انجام نداده اید، Edge Microgateway را مقداردهی اولیه کنید (فقط یک بار باید این مرحله را انجام دهید):
    edgemicro init
  2. (اختیاری) چاپ راهنمای دستور پیکربندی edgemicro :
    edgemicro configure -h
  3. برای پیکربندی Edge Microgateway دستور زیر را اجرا کنید:
    edgemicro configure -o [org] -e [env] -u [username] 

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • username آدرس ایمیل مرتبط با حساب Apigee شما است.

مثال

edgemicro configure -o docs -e test -u jdoe@example.com

خروجی

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

مراحل پیکربندی Apigee Private Cloud

برای استفاده از Edge Microgateway با Apigee Private Cloud این مراحل را دنبال کنید:

  1. اطلاعات راهنما را برای دستور پیکربندی خصوصی edgemicro چاپ کنید. می‌توانید از این طریق راهنما را برای هر دستور یا دستور Edge Microgateway CLI چاپ کنید.
    edgemicro private configure -h
  2. دستور زیر را اجرا کنید. به اطلاعات استانداردی در مورد حساب Apigee Edge Private Cloud شما نیاز دارد: نام سازمان، نام محیط، نام کاربری (آدرس ایمیل)، رمز عبور، IP سرور مدیریت و IP روتر. برای استفاده از این دستور باید یک مدیر سازمان Edge باشید:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • runtime_url URL زمان اجرا برای نمونه ابر خصوصی شما است.
    • mgmt_url URL سرور مدیریت برای نمونه ابر خصوصی شما است.
    • username آدرس ایمیل مرتبط با حساب Apigee شما است.
    • virtual_host لیستی از نام میزبان مجازی است که با کاما از هم جدا شده است. مقادیر پیش‌فرض default,secure هستند

مثال

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

یا اگر یک میزبان مجازی مستعار myorg-test.mycompany.com دارید، از دستوری مانند این استفاده خواهید کرد:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

خروجی

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

نصب را تایید کنید

برای تایید نصب این دستور را اجرا کنید. اگر هیچ خطایی گزارش نشود، همه چیز به درستی تنظیم شده است و شما می توانید Edge Microgateway را با موفقیت راه اندازی کنید.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

کجا:

  • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
  • env یک محیط در سازمان شما است (مانند test یا prod).
  • key همان کلیدی است که قبلاً با دستور configure بازگردانده شده است.
  • secret کلیدی است که قبلاً توسط دستور configure بازگردانده شده است.

مثال

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

درباره پیکربندی

تمام تنظیمات انجام شده تا کنون به Edge Microgateway اجازه می دهد تا خود را به Apigee Edge بوت کند. پس از موفقیت آمیز بودن بوت استرپینگ، Edge Microgateway محموله ای از اطلاعات پیکربندی اضافی را از Apigee Edge بازیابی می کند.

این اطلاعات پیکربندی برای چه استفاده می شود؟ همانطور که در قسمت بعدی این آموزش متوجه خواهیم شد، هنگامی که Edge Microgateway شروع به کار می کند، باید لیستی از پراکسی های API ویژه Edge Microgateway را از Apigee Edge دریافت کند. در قسمت بعدی این آموزش، یک پروکسی آگاه از Microgateway ایجاد خواهید کرد. Edge Microgateway مشتریان را به فراخوانی فقط APIهایی که توسط این پراکسی‌های API آگاه از Microgateway ارائه می‌شوند محدود می‌کند و کلاینت‌ها (به‌طور پیش‌فرض) باید برای هر تماس یک کد امنیتی معتبر ارائه کنند. برای خواندن اطلاعات بیشتر در مورد این پراکسی ها، به «آنچه شما باید بدانید » را ببینید.

به عنوان یک مدیر Edge org، علاقه مند خواهید بود بدانید که پروکسی های آگاه از Edge Microgateway را می توان مانند هر پراکسی دیگری به محصولات Edge اضافه کرد. از طریق استفاده از محصولات و برنامه‌های توسعه‌دهنده، می‌توانید توکن‌های امنیتی خاص مشتری را برای کنترل دسترسی به APIهایی که از طریق Edge Microgateway نامیده می‌شوند، ایجاد کنید. مجدداً، الگوهای مربوط به کار با هر پروکسی API، محصول و برنامه توسعه دهنده در Apigee Edge یکسان است. اگر می‌خواهید محصولات را مطالعه کنید، با محصول API چیست؟ در مستندات Edge.

در ادامه نحوه ایجاد پراکسی های Edge Microgateway را توضیح خواهیم داد و پس از آن، Edge Microgateway را راه اندازی کرده و تنظیمات را آزمایش می کنیم.

بخش 2: ایجاد موجودیت در Apigee Edge

در این قسمت، این موجودیت ها را در Edge ایجاد خواهید کرد:

  • یک پروکسی آگاه از میکرو گیت - این یک پروکسی ویژه است که Edge Microgateway می تواند هنگام راه اندازی آن را کشف کند. پروکسی‌های آگاه از Microgateway یک قرارداد نامگذاری دارند که باید از آن پیروی کنید: نام باید با edgemicro_ باشد. به عنوان مثال edgemicro_hello یا edgemicro_userinfo . هنگامی که Edge Microgateway راه اندازی می شود، لیستی از پراکسی های آگاه از microgateway را از همان سازمان Edge و محیطی که هنگام راه اندازی Edge Microgateway مشخص کرده اید، بازیابی می کند.

    Edge Microgatway برای هر پروکسی آگاه از میکرو گیت، URL هدف پروکسی و مسیر اصلی آن را بازیابی می کند. پروکسی‌های آگاه از Microgateway همچنین یک راه مناسب برای مرتبط کردن داده‌های تحلیلی تولید شده توسط Edge Microgateway با یک پراکسی در پلتفرم Edge ارائه می‌کنند. همانطور که Microgateway تماس‌های API را مدیریت می‌کند، داده‌های تحلیلی را به‌طور ناهمزمان به Edge منتقل می‌کند. داده‌های Analytics در رابط کاربری Edge Analytics تحت نام(های) پروکسی آگاه از microgateway، مانند هر پروکسی دیگری نشان داده می‌شوند.
  • یک محصول، برنامه‌نویس و برنامه‌نویس - Edge Microgateway از محصولات، توسعه‌دهندگان و برنامه‌های توسعه‌دهنده برای فعال کردن رمز دسترسی OAuth2 یا امنیت کلید API استفاده می‌کند. هنگامی که Edge Microgateway راه اندازی می شود، تمام پیکربندی های محصول را از سازمان Apigee Edge شما دانلود می کند. از این اطلاعات برای تأیید تماس‌های API استفاده شده از طریق Edge Microgateway با کلیدهای API یا نشانه‌های دسترسی OAuth2 استفاده می‌کند.

بیشتر بخوانید: همچنین به " آنچه باید در مورد پراکسی های Edge Microgateway-aware" بدانید مراجعه کنید.

1. یک پروکسی Edge Microgateway-aware API در Edge ایجاد کنید

  1. در Apigee Edge به سازمان خود وارد شوید.
  2. روی SWITCH TO CLASSIC کلیک کنید تا به Edge Classic UI بروید.
  3. APIs > API Proxies را از منوی بالا انتخاب کنید.
  4. در صفحه API Proxy، روی + API Proxy کلیک کنید.
  5. در جادوگر Build a Proxy، Reverse Proxy (متداول ترین) را انتخاب کنید.
  6. روی Next کلیک کنید.
  7. در صفحه جزئیات ویزارد، به صورت زیر پیکربندی کنید. حتماً ویزارد را دقیقاً مطابق شکل پر کنید:
    • نام پروکسی: edgemicro_hello
    • مسیر پایه پروکسی: /hello
    • API موجود: http://mocktarget.apigee.net/
  8. روی Next کلیک کنید.
  9. در صفحه امنیت جادوگر، Pass through (none) را انتخاب کنید.
  10. روی Next کلیک کنید.
  11. در صفحه میزبان های مجازی جادوگر، پیش فرض ها را بپذیرید.
  12. روی Next کلیک کنید.
  13. در صفحه ساخت جادوگر، تنظیمات پراکسی خود را بررسی کنید. مطمئن شوید که محیط تست انتخاب شده است.
  14. روی Build and Deploy کلیک کنید.

2. یک محصول ایجاد کنید

محصولی ایجاد کنید که شامل دو پروکسی باشد:

  • پروکسی آگاه از میکرو گیت شما: edgemicro_hello
  • پروکسی احراز هویت که توسط Edge Microgateway نصب شده است: edgemicro-auth .
  1. در رابط کاربری Edge (نسخه کلاسیک)، به Publish > Products بروید.
  2. در صفحه محصولات، روی + محصول کلیک کنید. صفحه مشخصات محصول را به صورت زیر پر کنید:
    • نام: EdgeMicroTestProduct
    • نام نمایشی: EdgeMicroTestProduct
    • محیط: تست و تولید
    • دسترسی: عمومی
    • نوع تایید کلید: اتوماتیک
    • منابع:
      • API Proxy: edgemicro_hello را انتخاب کنید
      • بازبینی: 1
      • مسیر منبع: /**
  3. روی Import Resource کلیک کنید.
  4. در منابع، روی +API Proxy کلیک کنید
  5. edgemicro-auth را انتخاب کنید
  6. روی ذخیره کلیک کنید.

3. (اختیاری) یک توسعه دهنده آزمایشی ایجاد کنید

برای هدف این آموزش، می‌توانید از هر توسعه‌دهنده موجود برای مرحله بعدی یعنی ایجاد یک برنامه توسعه‌دهنده استفاده کنید. اما در صورت تمایل، اکنون یک توسعه دهنده آزمایشی ایجاد کنید:

  1. به Publish > Developers بروید.
  2. در صفحه محصولات، روی + Developer کلیک کنید.
  3. برای ایجاد یک توسعه دهنده آزمایشی، کادر گفتگو را پر کنید.

4. یک برنامه توسعه دهنده ایجاد کنید

می‌خواهید از اعتبار مشتری این برنامه برای برقراری تماس‌های امن API از طریق Edge Microgateway استفاده کنید:

  1. به Publish > Developer Apps بروید.
  2. در صفحه Developer Apps، روی + Developer App کلیک کنید.
  3. صفحه برنامه Developer App را به صورت زیر پر کنید:
    1. نام: EdgeMicroTestApp
    2. نام نمایشی: EdgeMicroTestApp
    3. توسعه دهنده: اگر یک توسعه دهنده آزمایشی ایجاد کرده اید، آن را انتخاب کنید. یا، می‌توانید از هر توسعه‌دهنده موجود برای اهداف این آموزش استفاده کنید.
    4. اعتبارنامه:
      1. انقضا: هرگز را انتخاب کنید.
      2. روی + Product کلیک کنید و EdgeMicroTestProduct (محصولی که به تازگی ایجاد کردید) را انتخاب کنید.
  4. روی ذخیره کلیک کنید.
  5. شما به صفحه فهرست برنامه‌های برنامه‌نویس بازگشته‌اید.
  6. برنامه ای را که ایجاد کرده اید، EdgeMicroTestApp را انتخاب کنید.
  7. روی نمایش در کنار کلید مصرف کننده و راز مصرف کننده کلیک کنید.

قسمت 3: Microgateway Edge را اجرا کنید

اکنون که یک Edge Microgateway پیکربندی شده و حداقل یک پروکسی Edge Microgateway آگاه در Edge دارید، زمان راه‌اندازی Edge Microgateway فرا رسیده است. یک سرور HTTP Edge Microgateway بر روی دستگاه محلی شما اجرا می شود و شما تماس های API را مستقیماً با آن سرور برقرار خواهید کرد.

1. Edge Microgateway را راه اندازی کنید

برای راه اندازی Edge Microgateway از دستور edgemicro start استفاده کنید.

  1. مطمئن شوید که کلیدهایی را دارید که قبلاً هنگام اجرای دستور edgemicro configure برگردانده شده بودند. آن خروجی چیزی شبیه به این بود:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  2. (اختیاری) اطلاعات راهنما را برای دستور edgemicro start چاپ کنید.
    edgemicro start -h
  3. برای راه اندازی Edge Microgateway، دستور زیر را اجرا کنید:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • key همان کلیدی است که قبلاً با دستور configure بازگردانده شده است.
    • secret کلیدی است که قبلاً توسط دستور configure بازگردانده شده است.

    مثال

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    خروجی

    دستور start اطلاعات پیکربندی زیادی را از Apigee Edge (که به پنجره ترمینال می رود) بازیابی می کند. در خروجی، فهرستی از پروکسی‌ها و محصولاتی که از میکرو گیت‌وی آگاه هستند را مشاهده خواهید کرد. در پایان خروجی باید چیزی شبیه به زیر را مشاهده کنید:

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000

چه اتفاقی افتاد؟

به ترمینالی که در آن دستور edgemicro config را اجرا کردید نگاه کنید. با پیمایش به سمت بالا در خروجی استاندارد، می‌بینید که این دستور یک محموله از اطلاعات پیکربندی Edge Microgateway را از Apigee Edge بازیابی می‌کند. این اطلاعات شامل:

  • کلید عمومی که قبلاً در یک نقشه ارزش کلیدی رمزگذاری شده (KVM) ایجاد و ذخیره کرده بودیم.
  • یک نمایش JSON از تمام پراکسی‌های Edge Microgateway که در سازمان/محیط وجود دارند. اینها همه پروکسی هایی هستند که با پیشوند edgemicro_ نامگذاری شده اند.
  • یک نمایش JSON از تمام محصولات API موجود در سازمان/محیط.

با این اطلاعات، Edge Microgateway می‌داند کدام پروکسی‌ها و مسیرهای پراکسی مجاز به پردازش است. از اطلاعات محصول برای اعمال امنیت استفاده می کند (دقیقاً به همان روشی که هر پروکسی API در Apigee Edge انجام می دهد، جایی که کلیدهای برنامه توسعه دهنده با محصولات ارتباط دارند). به زودی مراحل ایمن سازی Edge Microgateway را طی خواهیم کرد.

2. Microgateway Edge را تست کنید

با اجرای Edge Microgateway، می توانید با پروکسی تماس بگیرید. هنگامی که Edge Microgateway را راه اندازی کردید، پیکربندی پروکسی edgemicro_hello از Edge دانلود شد. به یاد داشته باشید که مسیر پایه پروکسی /hello است.

برای تست Edge Microgateway، از مسیر پایه شروع می کنیم و یک مسیر منبع /echo اضافه می کنیم. توجه داشته باشید که همه چیز بعد از مسیر پایه (از جمله هر پارامتر پرس و جو) به سادگی به هدف باطن ارسال می شود:

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

این خطا به این دلیل رخ می دهد که شما یک کلید API معتبر یا نشانه دسترسی همراه با درخواست ارسال نکرده اید. به طور پیش فرض، Edge Microgateway به یک کلید API یا یک نشانه دسترسی در هر تماس API نیاز دارد. در مرحله بعدی آموزش، این API را به درستی ایمن می‌کنیم و به شما نشان می‌دهیم که چگونه یک نشانه دسترسی معتبر دریافت کنید و آن را با درخواست اضافه کنید.

4. Edge Microgateway را متوقف کنید

  1. در یک پنجره ترمینال جداگانه، cd به همان دایرکتوری که Edge Microgateway را راه اندازی کرده اید، وارد کنید.
  2. دستور توقف را وارد کنید:
    edgemicro stop

قسمت 4: Microgateway لبه ایمن

می‌توانید تماس‌های API برقرار شده از طریق Edge Microgateway را با استفاده از یک کلید API یا یک نشانه دسترسی ایمن کنید.

تماس‌های API ایمن با رمز دسترسی OAuth2

اگر می‌خواهید تماس‌های API را با یک نشانه دسترسی OAuth2 احراز هویت کنید، این مراحل را دنبال کنید:

1. کلیدهای مورد نیاز را دریافت کنید

  1. در رابط کاربری Edge، همانطور که در قسمت 2 توضیح داده شده است، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید: ایجاد موجودیت ها در Apigee Edge . نام برنامه EdgeMicroTestApp بود.
  2. در صفحه Developer App، Consumer Key و Consumer Secret را نشان داده و آنها را کپی کنید. این مقادیر برای به دست آوردن یک نشانه دسترسی در مرحله بعد مورد نیاز است.

2. یک نشانه دسترسی دریافت کنید

دو راه برای دریافت توکن دسترسی وجود دارد. ما هر دو روش را به شما نشان خواهیم داد.

استفاده از CLI برای دریافت رمز دسترسی

روش اول راحت است و از الگویی که در طول آموزش استفاده کرده ایم پیروی می کند. روش دوم به طور کلی برای توسعه دهندگان برنامه های مشتری که نیاز به درخواست توکن دارند مفیدتر است. نقطه پایانی رمز واقعی در پروکسی edgemicro-auth که هنگام پیکربندی Edge Microgateway به کار گرفته شد، پیاده سازی می شود.

  1. (اختیاری) مشاهده راهنمایی برای دستور token get :
    edgemicro token get -h
  2. توکن را ایجاد کنید و مقادیر کلید مصرف کننده و Consumer Secret را از برنامه توسعه دهنده ای که در Apigee Edge ایجاد کرده اید در پارامترهای -i و -s جایگزین کنید:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • consumer_id شناسه مصرف کننده در برنامه توسعه دهنده ای است که قبلاً ایجاد کرده اید.
    • consumer_secret راز مصرف کننده در برنامه توسعه دهنده ای است که قبلا ایجاد کرده اید.

    مثال

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

    خروجی (نمونه)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(اختیاری) استفاده از API برای دریافت رمز

اگر به فراخوانی پراکسی‌های Edge با استفاده از curl یا کلاینت HTTP دیگر عادت دارید، جالب است بدانید که می‌توانید به‌جای استفاده از دستور edgemicro token ، نقطه پایانی نشانه را مستقیماً فراخوانی کنید. در اینجا یک مثال فر است. فقط نام سازمان و محیط خود را در URL جایگزین کنید و مقادیر Consumer Key:Consumer Secret را که با کولون جدا شده اند را در یک هدر Basic Authentication ارسال کنید:

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

کجا:

  • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
  • env یک محیط در سازمان شما است (مانند test یا prod).
  • client_id شناسه مصرف کننده در برنامه توسعه دهنده ای است که قبلا ایجاد کرده اید.
  • client_secret راز مصرف کننده در برنامه توسعه دهنده ای است که قبلا ایجاد کرده اید.

خروجی (نمونه)

این دستور، چه از دستور CLI edgemicro token استفاده کرده باشید و چه با استفاده از curl، نقطه پایانی را فراخوانی کرده باشید، یک نشانه دسترسی امضا شده را برمی گرداند که می تواند برای برقراری تماس های مشتری استفاده شود. چیزی شبیه این:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. تنظیمات را در Edge Microgateway بررسی کنید

  1. فایل ~ /.edgemicro/org-env-config.yaml. همچنین نگاه کنید به کجا Edge Microgateway نصب شده است .
  2. مطمئن شوید که این ویژگی های پلاگین oauth روی false تنظیم شده اند. آنها به طور پیش فرض نادرست هستند، اما بهتر است دوباره بررسی کنید:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. همچنین در فایل org-env-config.yaml ، مطمئن شوید که افزونه oauth به عنصر plugins:sequence اضافه شده است، مانند این::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. اگر تغییری در فایل ایجاد کردید، تغییرات را در نمونه در حال اجرا Edge Microgateway بارگیری مجدد کنید . این دستور Edge Microgateway را با زمان خاموشی صفر دوباره پیکربندی می‌کند:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • key همان کلیدی است که قبلاً با دستور configure بازگردانده شده است.
    • secret کلیدی است که قبلاً توسط دستور configure بازگردانده شده است.

    مثال

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

4. به طور ایمن با API تماس بگیرید

با در دست داشتن یک نشانه دسترسی، اکنون می توانید تماس API را به صورت ایمن انجام دهید. به عنوان مثال:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API سرصفحه ها و سایر اطلاعات را از سرور ساختگی برمی گرداند.

ایمن سازی API با یک کلید API

اگر می خواهید از یک کلید API برای مجوز استفاده کنید، این مراحل را دنبال کنید:

1. کلید API را دریافت کنید

  1. در رابط کاربری Edge، همانطور که در قسمت 2 توضیح داده شده است، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید: ایجاد موجودیت ها در Apigee Edge . نام برنامه EdgeMicroTestApp بود.
  2. در صفحه Developer App، Consumer Key را نشان داده و آن را کپی کنید. این مقدار کلید API است. از این کلید برای برقراری تماس های API احراز هویت شده استفاده خواهید کرد.

2. تنظیمات را در Edge Microgateway بررسی کنید

  1. فایل ~ /.edgemicro/org-env-config.yaml. همچنین نگاه کنید به کجا Edge Microgateway نصب شده است .
  2. مطمئن شوید که این ویژگی های پلاگین oauth روی false تنظیم شده اند. آنها به طور پیش فرض نادرست هستند، اما بهتر است دوباره بررسی کنید:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. همچنین در فایل org-env-config.yaml ، مطمئن شوید که افزونه oauth به عنصر plugins:sequence اضافه شده است، مانند این::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. اگر تغییری در فایل ایجاد کردید، تغییرات را در نمونه در حال اجرا Edge Microgateway بارگیری مجدد کنید . این دستور Edge Microgateway را با زمان خاموشی صفر دوباره پیکربندی می‌کند:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • key همان کلیدی است که قبلاً با دستور configure بازگردانده شده است.
    • secret کلیدی است که قبلاً توسط دستور configure بازگردانده شده است.

    مثال

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

3. با یک کلید API به طور ایمن با API تماس بگیرید

API را با هدر x-api-key به صورت زیر فراخوانی کنید. مقدار کلید مصرف کننده که از برنامه توسعه دهنده کپی کرده اید، کلید API است. به‌طور پیش‌فرض، Edge Microgateway از شما انتظار دارد که کلید را در هدری به نام x-api-key ارسال کنید، مانند این:

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

کجا:

  • apikey مقدار کلید مصرف کننده است که از EdgeMicroTestApp گرفته شده است.

به عنوان مثال:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

اکنون یک Microgateway Edge کاملاً کارآمد و ایمن دارید. در قسمت بعدی آموزش، نگاهی به پلاگین هایی خواهیم داشت که قابلیت هایی را به Edge Microgateway اضافه می کنند.

قسمت 5: افزونه Spike Arrest را اضافه کنید

در این قسمت، ما یک ویژگی محدود کننده نرخ به نام دستگیری اسپایک را به نمونه Edge Microgateway شما اضافه می کنیم.

پلاگین ها چیست؟

پلاگین یک ماژول Node.js است که قابلیت هایی را به Edge Microgateway اضافه می کند. ماژول‌های پلاگین از یک الگوی ثابت پیروی می‌کنند و در مکانی که به Edge Microgateway شناخته می‌شود ذخیره می‌شوند و به microgateway امکان می‌دهند آنها را به طور خودکار کشف و بارگذاری کند. می توانید در مورد افزونه ها در استفاده از افزونه ها بیشتر بخوانید.

افزودن پلاگین دستگیری سنبله

Spike Arrest در برابر افزایش ترافیک محافظت می کند. تعداد درخواست های پردازش شده توسط یک نمونه Edge Microgateway را کاهش می دهد.

در Edge Microgateway، Spike arrest به عنوان یک ماژول پلاگین پیاده سازی شده است. برای فعال کردن آن، باید آن را به فایل پیکربندی Edge Microgateway اضافه کنید.

  1. فایل ~ /.edgemicro/org-env-config.yaml. همچنین ببینید Edge Microgateway کجا نصب شده است .
  2. عنصر زیر را اضافه کنید. می توانید آن را در هر جایی از فایل اضافه کنید.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. همانطور که در زیر نشان داده شده است، spikearrest به عنصر edgemicro:sequence اضافه کنید. ویژگی پیکربندی sequence ترتیب اجرای ماژول های افزونه را به Edge Microgateway می گوید.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
  4. فایل کانفیگ را ذخیره کنید.
  5. Edge Microgateway را با دستور reload دوباره بارگذاری کنید. شما باید این دستور را از دایرکتوری که Edge Microgateway را راه اندازی کرده اید اجرا کنید.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    کجا:

    • org نام سازمان Edge شماست (شما باید یک مدیر سازمان باشید).
    • env یک محیط در سازمان شما است (مانند test یا prod).
    • key همان کلیدی است که قبلاً با دستور configure بازگردانده شده است.
    • secret کلیدی است که قبلاً توسط دستور configure بازگردانده شده است.

    مثال

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. سعی کنید چندین بار پشت سر هم با API تماس بگیرید. پس از تماس دوم، Edge Microgateway این خطا را برمی‌گرداند:
    {"message":"SpikeArrest engaged","status":503}

دلیل آن این است که دستگیری اسپایک تعداد تماس هایی را که می توان در واحد زمانی مشخص شده برقرار کرد، هموار می کند. بنابراین، در این حالت می توانید 10 تماس در دقیقه یا هر 6 ثانیه یک تماس برقرار کنید.

برای کسب اطلاعات بیشتر، به « چگونه دستگیری اسپایک کار می‌کند؟ » در استفاده از افزونه‌ها مراجعه کنید.

اعتبار اضافی: افزودن افزونه سهمیه

با پیروی از همان الگوی مورد استفاده برای پیکربندی دستگیری اسپایک، می‌توانید افزونه‌های دیگری مانند افزونه سهمیه اضافه کنید. مانند توقف اسپایک، پلاگین سهمیه در هر نصب Edge Microgateway گنجانده شده است. سهمیه تعداد پیام های درخواستی را مشخص می کند که یک برنامه مجاز است در یک بازه زمانی مشخص (دقیقه یا ساعت) به یک API ارسال کند.

برای آشنایی با نحوه عملکرد سهمیه‌ها، به « استفاده از افزونه سهمیه » در استفاده از افزونه‌ها مراجعه کنید.

قسمت 6: مشاهده تجزیه و تحلیل در Apigee Edge

ما اکنون یک نمونه Edge Microgateway کاملاً کارآمد داریم، بیایید ببینیم چه کار کرده است! به طور پیش فرض، ماژول افزونه تجزیه و تحلیل به Edge Micro اضافه می شود. این ماژول به‌طور بی‌صدا داده‌های تحلیلی را از Edge Micro به Apigee edge منتقل می‌کند، جایی که توسط سیستم Edge Analytics مصرف می‌شود. بیایید ببینیم:

  1. در Apigee Edge به سازمان خود وارد شوید.
  2. Analytics > عملکرد پروکسی را انتخاب کنید.
  3. در داشبورد Proxy Performance، پروکسی edgemicro_hello را انتخاب کنید.
  4. نمودار اطلاعاتی در مورد الگوهای ترافیک پراکسی مانند کل ترافیک، میانگین زمان پاسخگویی، میانگین زمان پاسخ هدف و موارد دیگر به شما نشان می دهد.

می توانید اطلاعات بیشتری در مورد داشبوردهای Edge Analytics در صفحه اصلی Analytics Dashboards در مستندات Edge بخوانید. برای کسب اطلاعات بیشتر در مورد پلاگین ها، به استفاده از افزونه ها مراجعه کنید