شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
Edge Microgateway نسخه 3.3.x
نمای کلی
پس از تکمیل مراحل در این راهنمای راهاندازی، یک نصب Edge Microgateway کاملاً پیکربندیشده و فعال خواهید داشت که قادر به پردازش درخواستهای API است. راهاندازی را با برقراری تماسهای ایمن API از طریق Edge Microgateway به هدف باطنی آزمایش خواهید کرد. همچنین یاد خواهید گرفت که چگونه یک پلاگین دستگیری اسپایک را به Microgateway اضافه کنید.
این راهنما به این بخش ها تقسیم می شود:
- پیش نیاز: نصب Edge Microgateway
- قسمت 1: Edge Microgateway را پیکربندی کنید
- بخش 2: ایجاد موجودیت در Apigee Edge
- قسمت 3: Microgateway Edge را اجرا کنید
- قسمت 4: Microgateway لبه ایمن
- قسمت 5: افزونه Spike Arrest را اضافه کنید
- قسمت 6: مشاهده داده های Analytics در Apigee Edge
پیش نیاز: Edge Microgateway را نصب کنید
دستورالعملهای نصب 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 این مراحل را دنبال کنید:
- Edge Microgateway را راه اندازی کنید (فقط باید این مرحله را یک بار انجام دهید):
edgemicro init
- یک فایل پیکربندی به نام فایل
default.yaml
در دایرکتوری اصلی شما در یک زیر شاخه به نام.edgemicro
قرار داده شد. اکنون بررسی کنید تا مطمئن شوید این فایل وجود دارد:ls ~/.edgemicro default.yaml
توجه: در اسناد Edge Microgateway، ما به دایرکتوری خانه با علامت (
~
) اشاره می کنیم که یک میانبر یونیکس است. اگر از ویندوز استفاده میکنید، اگر پوستهای را اجرا میکنید که از tilde پشتیبانی نمیکند، باید متغیر محیطی مناسب را برای tilde در دستوراتی که به فهرست اصلی ارجاع میدهند، جایگزین کنید. به عنوان مثال:%USERPROFILE%/.edgemicro
. - تمام دستورات CLI دارای یک تابع کمک هستند. راهنمای چاپ دستور پیکربندی edgemicro :
edgemicro configure -h
- برای پیکربندی Edge Microgateway دستور زیر را اجرا کنید:
edgemicro configure -o [org] -e [env] -u [username]
کجا:
-
org:
نام سازمان Edge شما (شما باید یک مدیر سازمان باشید). -
env:
یک محیط در سازمان شما (مانند test یا prod). -
username:
آدرس ایمیل مرتبط با حساب Apigee شما.
توجه: دستور configure پارامترهای اضافی را اجازه می دهد. برای فهرست کامل، پیکربندی Edge Microgateway برای Apigee Edge Cloud را ببینید.
-
مثال
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 v12.5.0 current edgemicro version is 3.1.0 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM error checking for cert. Installing new cert. creating KVM 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/docs-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih 3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ +1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q PTmvExZLkLQ= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
مراحل پیکربندی Apigee Private Cloud
برای استفاده از Edge Microgateway با Apigee Private Cloud این مراحل را دنبال کنید:
- Edge Microgateway را راه اندازی کنید (فقط باید این مرحله را یک بار انجام دهید):
edgemicro init
- اطلاعات راهنما را برای دستور پیکربندی خصوصی edgemicro چاپ کنید. میتوانید از این طریق راهنما را برای هر دستور یا دستور Edge Microgateway CLI چاپ کنید.
edgemicro private configure -h
- دستور زیر را اجرا کنید. به اطلاعات استانداردی در مورد حساب 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 KVM error checking for cert. Installing new cert. creating KVM adding private_key adding public_key configuring host http://192.168.52.106:9001 for region dc-1 saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o 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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3 secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263 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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
در مورد پیکربندی
تمام تنظیمات انجام شده تا کنون به Edge Microgateway اجازه می دهد تا خود را به Apigee Edge بوت کند. پس از موفقیت آمیز بودن بوت استرپینگ، Edge Microgateway محموله ای از اطلاعات پیکربندی اضافی را از Apigee Edge بازیابی می کند.
این اطلاعات پیکربندی برای چه استفاده می شود؟ همانطور که در قسمت بعدی این آموزش متوجه خواهیم شد، هنگامی که Edge Microgateway شروع به کار می کند، باید لیستی از پراکسی های API ویژه Edge Microgateway را از Apigee Edge دریافت کند. در قسمت بعدی این آموزش، یک پروکسی آگاه از Microgateway ایجاد خواهید کرد. Edge Microgateway مشتریان را به فراخوانی فقط APIهایی که توسط این پراکسیهای API آگاه از Microgateway ارائه میشوند محدود میکند و کلاینتها (بهطور پیشفرض) باید برای هر تماس یک کد امنیتی معتبر ارائه کنند. برای خواندن اطلاعات بیشتر در مورد این پراکسیها، به « آنچه باید درباره پراکسیهای آگاه از Edge Microgateway بدانید » در نمای کلی Edge 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 استفاده میکند.
1. یک پروکسی Edge Microgateway-aware API در Edge ایجاد کنید
- در Apigee Edge به سازمان خود وارد شوید.
- Develop > API Proxies را در منوی ناوبری کناری انتخاب کنید.
- روی + Proxy کلیک کنید. جادوگر Build a Proxy فراخوانی می شود.
- در اولین صفحه جادوگر، Reverse proxy (متداول ترین) را انتخاب کنید.
- روی Next کلیک کنید.
- در صفحه جزئیات ویزارد، به صورت زیر پیکربندی کنید. حتماً ویزارد را دقیقاً مطابق شکل پر کنید:
- نام پروکسی: edgemicro_hello
- مسیر پایه پروکسی: /hello
- API موجود: http://mocktarget.apigee.net/
- روی Next کلیک کنید.
- در صفحه امنیت جادوگر، Pass through (none) را انتخاب کنید.
- روی Next کلیک کنید.
- در صفحه میزبان های مجازی جادوگر، پیش فرض ها را بپذیرید.
- روی Next کلیک کنید.
- در صفحه ساخت جادوگر، تنظیمات پراکسی خود را بررسی کنید. مطمئن شوید که محیط تست انتخاب شده است.
- روی Build and Deploy کلیک کنید.
2. یک محصول API ایجاد کنید
- انتشار > محصولات API را در منوی ناوبری کناری انتخاب کنید.
- روی + محصول API کلیک کنید .
- مشخصات محصول را که در جدول زیر نشان داده شده است وارد کنید:
میدان توضیحات نام EdgeMicroTestProduct نام نمایشی محصول تست Edge Microgatway محیط زیست تست کنید دسترسی داشته باشید عمومی نوع تأیید کلید خودکار - در بخش منابع API، پراکسی API را که ایجاد کردید و پروکسی edgemicro-auth اضافه کنید:
- edgemicro_hello
- edgemicro-auth
- روی ذخیره کلیک کنید.
3. یک توسعه دهنده ایجاد کنید
برای هدف این آموزش، میتوانید از هر توسعهدهنده موجود برای مرحله بعدی یعنی ایجاد یک برنامه توسعهدهنده استفاده کنید. اما در صورت تمایل، اکنون یک توسعه دهنده آزمایشی ایجاد کنید:
- در منوی ناوبری کناری ، Publish > Developers را انتخاب کنید.
- روی + Developer کلیک کنید.
- برای ایجاد یک توسعه دهنده آزمایشی، کادر گفتگو را پر کنید.
4. یک برنامه توسعه دهنده ایجاد کنید
میخواهید از اعتبار مشتری این برنامه برای برقراری تماسهای امن API از طریق Edge Microgateway استفاده کنید:
- انتشار > برنامهها را در منوی ناوبری کناری انتخاب کنید.
- روی + برنامه کلیک کنید. صفحه Developer App Details ظاهر می شود.
- صفحه برنامه Developer App را به صورت زیر پر کنید:
- نام: EdgeMicroTestApp
- نام نمایشی: EdgeMicroTestApp
- توسعه دهنده: اگر یک توسعه دهنده آزمایشی ایجاد کرده اید، آن را انتخاب کنید. یا، میتوانید از هر توسعهدهنده موجود برای اهداف این آموزش استفاده کنید.
- اعتبارنامه:
- انقضا: هرگز را انتخاب کنید.
- روی + Product کلیک کنید و EdgeMicroTestProduct (محصولی که به تازگی ایجاد کردید) را انتخاب کنید.
- روی ذخیره کلیک کنید.
- شما دوباره به صفحه لیست برنامه ها بازگشته اید.
- برنامه ای را که ایجاد کرده اید، EdgeMicroTestApp را انتخاب کنید.
- روی نمایش در کنار کلید مصرف کننده و راز مصرف کننده کلیک کنید.
قسمت 3: Microgateway Edge را اجرا کنید
اکنون که یک Edge Microgateway پیکربندی شده و حداقل یک پروکسی Edge Microgateway آگاه در Edge دارید، زمان راهاندازی Edge Microgateway فرا رسیده است. یک سرور HTTP Edge Microgateway بر روی دستگاه محلی شما اجرا می شود و شما تماس های API را مستقیماً با آن سرور برقرار خواهید کرد.
1. Edge Microgateway را راه اندازی کنید
برای راه اندازی Edge Microgateway از دستور edgemicro start استفاده کنید.
- مطمئن شوید که کلیدهایی را دارید که قبلاً هنگام اجرای دستور edgemicro configure برگردانده شده بودند. آن خروجی چیزی شبیه به این بود:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (اختیاری) اطلاعات راهنما را برای دستور
edgemicro start
چاپ کنید.
edgemicro start -h
- برای راه اندازی 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 (که به پنجره ترمینال می رود) بازیابی می کند. در خروجی، فهرستی از پروکسیها و محصولاتی که از میکرو گیتوی آگاه هستند را مشاهده خواهید کرد. در پایان خروجی باید چیزی شبیه به زیر را مشاهده کنید:
... current nodejs version is v12.5.0 current edgemicro version is 3.1.0 info: jwk_public_keys download from null returned 200 undefined info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK PROCESS PID : 17991
-
- وضعیت میکرو گیت وی را بررسی کنید. در یک پنجره ترمینال دیگر، سی دی را به همان دایرکتوری که Edge Micro را راه اندازی کرده اید، وارد کنید و این دستور را وارد کنید:
edgemicro status current nodejs version is v12.5.0 current edgemicro version is 3.1.0 edgemicro is running with 8 workers
چه اتفاقی افتاد؟
محموله ای از اطلاعات پیکربندی Edge Microgateway از Apigee Edge دانلود شده و به صورت محلی ذخیره می شود. این اطلاعات شامل:
- کلید عمومی که قبلاً در یک نقشه ارزش کلیدی رمزگذاری شده (KVM) ایجاد و ذخیره کرده بودیم.
- نمایشی از تمام پراکسی های Edge Microgateway که در سازمان/محیط وجود دارند. اینها همه پروکسی هایی هستند که با پیشوند edgemicro_ نامگذاری شده اند.
- نمایشی از تمام محصولات 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 را متوقف کنید
- در یک پنجره ترمینال جداگانه،
cd
به همان دایرکتوری که Edge Microgateway را راه اندازی کرده اید، وارد کنید. - دستور توقف را وارد کنید:
edgemicro stop
قسمت 4: Microgateway لبه ایمن
میتوانید تماسهای API برقرار شده از طریق Edge Microgateway را با استفاده از یک کلید API یا یک نشانه دسترسی ایمن کنید.
تماسهای API ایمن با رمز دسترسی OAuth2
اگر میخواهید تماسهای API را با یک نشانه دسترسی OAuth2 احراز هویت کنید، این مراحل را دنبال کنید:
1. کلیدهای مورد نیاز را دریافت کنید
- در رابط کاربری Edge، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید. نام برنامه EdgeMicroTestApp بود.
- در صفحه Developer App، Consumer Key و Consumer Secret را نشان داده و آنها را کپی کنید. این مقادیر برای به دست آوردن یک نشانه دسترسی در مرحله بعد مورد نیاز است.
2. یک نشانه دسترسی دریافت کنید
دو راه برای دریافت توکن دسترسی وجود دارد. ما هر دو روش را به شما نشان خواهیم داد.
استفاده از CLI برای دریافت رمز دسترسی
روش اول راحت است و از الگویی که در طول آموزش استفاده کرده ایم پیروی می کند. روش دوم به طور کلی برای توسعه دهندگان برنامه های مشتری که نیاز به درخواست توکن دارند مفیدتر است. نقطه پایانی رمز واقعی در پروکسی edgemicro-auth که هنگام پیکربندی Edge Microgateway به کار گرفته شد، پیاده سازی می شود.
- (اختیاری) مشاهده راهنمایی برای دستور token get :
edgemicro token get -h
- توکن را ایجاد کنید و مقادیر کلید مصرف کننده و 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 v12.5.0 { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc 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+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa 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 بررسی کنید
- فایل
$HOME/.edgemicro/org-env-config.yaml
باز کنید. اگر نمیتوانید این فایل را پیدا کنید ، Edge Microgateway کجا نصب شده است را ببینید. - مطمئن شوید که این ویژگی های پلاگین oauth روی false تنظیم شده اند. آنها به طور پیش فرض نادرست هستند، اما بهتر است دوباره بررسی کنید:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- همچنین در فایل
org-env-config.yaml
، مطمئن شوید که افزونه oauth به عنصرplugins:sequence
اضافه شده است، مانند این::plugins: dir: ../plugins sequence: - oauth
- اگر تغییری در فایل ایجاد کردید، تغییرات را در نمونه در حال اجرا 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.PL30Y6uK1W1f2ONPEsBDB_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 را دریافت کنید
- در رابط کاربری Edge، به برنامه توسعه دهنده ای که قبلا ایجاد کرده اید بروید. نام برنامه EdgeMicroTestApp بود.
- در صفحه Developer App، Consumer Key را نشان داده و آن را کپی کنید. این مقدار کلید API است. از این کلید برای برقراری تماس های API احراز هویت شده استفاده خواهید کرد.
2. تنظیمات را در Edge Microgateway بررسی کنید
- فایل
$HOME/.edgemicro/org-env-config.yaml.
اگر نمیتوانید این فایل را پیدا کنید ، Edge Microgateway کجا نصب شده است را ببینید. - مطمئن شوید که این ویژگی های پلاگین oauth روی false تنظیم شده اند. آنها به طور پیش فرض نادرست هستند، اما در صورت تمایل می توانید دوباره بررسی کنید:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- همچنین در فایل
org-env-config.yaml
، مطمئن شوید که افزونه oauth به عنصرplugins:sequence
اضافه شده است، مانند این::plugins: dir: ../plugins sequence: - oauth
- اگر تغییری در فایل ایجاد کردید، تغییرات را در نمونه در حال اجرا 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 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
-
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: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
اکنون یک Microgateway Edge کاملاً کارآمد و ایمن دارید. در قسمت بعدی آموزش، نگاهی به پلاگین هایی خواهیم داشت که قابلیت هایی را به Edge Microgateway اضافه می کنند.
قسمت 5: افزونه Spike Arrest را اضافه کنید
در این قسمت، ما یک ویژگی محدود کننده نرخ به نام دستگیری اسپایک را به نمونه Edge Microgateway شما اضافه می کنیم.
پلاگین ها چیست؟
پلاگین یک ماژول Node.js است که قابلیت هایی را به Edge Microgateway اضافه می کند. ماژولهای پلاگین از یک الگوی ثابت پیروی میکنند و در مکانی که به Edge Microgateway شناخته میشود ذخیره میشوند و به microgateway امکان میدهند آنها را به طور خودکار کشف و بارگذاری کند. میتوانید در مورد افزونهها در استفاده از افزونهها بیشتر بخوانید.
افزودن پلاگین دستگیری سنبله
یک پلاگین دستگیری سنبله در برابر افزایش ترافیک محافظت می کند. تعداد درخواست های پردازش شده توسط یک نمونه Edge Microgateway را کاهش می دهد.
در Edge Microgateway، Spike arrest به عنوان یک ماژول پلاگین پیاده سازی شده است. برای فعال کردن آن، باید آن را به فایل پیکربندی Edge Microgateway اضافه کنید.
- فایل
$HOME/.edgemicro/org-env-config.yaml.
اگر نمی توانید این فایل را پیدا کنید Edge Microgateway کجا نصب شده است . - عنصر زیر را اضافه کنید. می توانید آن را در هر جایی از فایل اضافه کنید.
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- همانطور که در زیر نشان داده شده است،
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: - oauth - spikearrest
- فایل کانفیگ را ذخیره کنید.
- 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
-
- سعی کنید چندین بار پشت سر هم با 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 مصرف میشود. بیایید ببینیم:
- در Apigee Edge به سازمان خود وارد شوید.
- Analytics > عملکرد پروکسی را انتخاب کنید.
- در داشبورد Proxy Performance، پروکسی edgemicro_hello را انتخاب کنید.
- نمودار اطلاعاتی در مورد الگوهای ترافیک پراکسی مانند کل ترافیک، میانگین زمان پاسخگویی، میانگین زمان پاسخ هدف و موارد دیگر به شما نشان می دهد.
میتوانید درباره داشبوردهای Edge Analytics در صفحه اصلی Analytics Dashboards در مستندات Edge اطلاعات بیشتری کسب کنید. برای کسب اطلاعات بیشتر در مورد افزونه ها، به استفاده از افزونه ها مراجعه کنید