مرجع عملیات و پیکربندی برای Edge Microgateway

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

Edge Microgateway نسخه 2.4.x

نمای کلی

در این مبحث نحوه مدیریت و پیکربندی Edge Microgateway از جمله نظارت، ثبت و اشکال‌زدایی بحث می‌شود.

ایجاد تغییرات پیکربندی

فایل های پیکربندی که باید در مورد آنها بدانید عبارتند از:

  • فایل پیکربندی پیش فرض سیستم
  • فایل پیکربندی پیش‌فرض برای یک نمونه Edge Microgateway که به تازگی راه‌اندازی شده است
  • فایل پیکربندی پویا برای نمونه های در حال اجرا

در این بخش درباره این فایل ها و آنچه باید در مورد تغییر آنها بدانید صحبت می شود. برای جزئیات در مورد تنظیمات فایل پیکربندی، به مرجع پیکربندی Edge Microgateway مراجعه کنید.

فایل پیکربندی پیش فرض سیستم

هنگامی که Edge Microgateway را نصب می کنید، یک فایل پیکربندی سیستم پیش فرض در اینجا قرار می گیرد:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

جایی که [prefix] دایرکتوری پیشوند npm است. Edge Microgateway کجا نصب شده است را ببینید.

اگر فایل پیکربندی سیستم را تغییر دهید، باید Edge Microgateway را مجدداً راه اندازی کنید، پیکربندی مجدد و راه اندازی مجدد کنید:

  1. edgemicro init را فراخوانی کنید
  2. فراخوانی edgemicro configure [params]
  3. فراخوانی edgemicro start [params]

فایل پیکربندی پیش‌فرض برای نمونه‌های Edge Microgateway که به تازگی مقداردهی اولیه شده‌اند

وقتی edgemicro init را اجرا می کنید، فایل پیکربندی سیستم (که در بالا توضیح داده شد)، default.yaml ، در این دایرکتوری قرار می گیرد: ~ /.edgemicro

اگر فایل پیکربندی را در ~ /.edgemicro تغییر دهید، باید Edge Microgateway را مجدداً پیکربندی و راه اندازی مجدد کنید:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

فایل پیکربندی پویا برای نمونه های در حال اجرا

هنگامی که edgemicro configure [params] را اجرا می کنید، یک فایل پیکربندی پویا در ~ /.edgemicro ایجاد می شود. نام فایل طبق این الگو است: [org]-[env]-config.yaml ، که در آن org و env نام سازمان و محیط Apigee Edge شما هستند. شما می توانید از این فایل برای ایجاد تغییرات پیکربندی استفاده کنید و سپس آنها را با زمان خالی صفر بارگیری مجدد کنید. برای مثال، اگر افزونه‌ای را اضافه و پیکربندی کنید، می‌توانید پیکربندی را بدون هیچ گونه خرابی بارگیری مجدد کنید، همانطور که در زیر توضیح داده شده است.

اگر Edge Microgateway در حال اجرا است (گزینه صفر توقف):

  1. بارگیری مجدد پیکربندی 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 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

اگر Edge Microgateway متوقف شود:

  1. راه اندازی مجدد 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 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824

در اینجا یک فایل پیکربندی مثال است. برای جزئیات در مورد تنظیمات فایل پیکربندی، به مرجع پیکربندی Edge Microgateway مراجعه کنید.

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

تنظیم متغیرهای محیطی

دستورات رابط خط فرمان که به مقادیری برای سازمان و محیط Edge شما نیاز دارند، و کلید و راز مورد نیاز برای راه اندازی Edge Microgateway را می توان در این متغیرهای محیطی ذخیره کرد:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

تنظیم این متغیرها اختیاری است. اگر آنها را تنظیم کنید، لازم نیست مقادیر آنها را هنگام استفاده از Command-Line Interface (CLI) برای پیکربندی و راه اندازی Edge Microgateway مشخص کنید.

پیکربندی SSL در سرور Edge Microgateway

شما می توانید سرور Microgateway را برای استفاده از SSL پیکربندی کنید. به عنوان مثال، با پیکربندی SSL، می توانید API ها را از طریق Edge Microgateway با پروتکل "https" فراخوانی کنید، مانند این:

https://localhost:8000/myapi

برای پیکربندی SSL در سرور Microgateway، مراحل زیر را دنبال کنید:

  1. با استفاده از ابزار openssl یا هر روشی که ترجیح می دهید، یک گواهی و کلید SSL ایجاد یا دریافت کنید.
  2. ویژگی edgemicro:ssl به فایل پیکربندی Edge Microgateway اضافه کنید. برای لیست کامل گزینه ها، جدول زیر را ببینید. برای جزئیات در مورد تغییر پیکربندی Edge Microgateway، به ایجاد تغییرات پیکربندی مراجعه کنید. به عنوان مثال:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
             requestCert: true 
  3. Edge Microgateway را مجددا راه اندازی کنید. بسته به اینکه کدام فایل پیکربندی را ویرایش کرده اید، مراحل ذکر شده در ایجاد تغییرات پیکربندی را دنبال کنید: فایل پیش فرض یا فایل پیکربندی زمان اجرا.

در اینجا نمونه ای از بخش edgemicro فایل پیکربندی با SSL پیکربندی شده است:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

در اینجا لیستی از تمام گزینه های سرور پشتیبانی شده است:

گزینه توضیحات
key مسیر فایل ca.key (در قالب PEM).
cert مسیر فایل ca.cert (در قالب PEM).
pfx مسیر فایل pfx حاوی کلید خصوصی، گواهینامه و گواهینامه های CA مشتری در قالب PFX.
passphrase رشته ای حاوی عبارت عبور برای کلید خصوصی یا PFX.
ca مسیر فایل حاوی لیستی از گواهینامه های قابل اعتماد در قالب PEM.
ciphers رشته ای که رمزهای مورد استفاده را توصیف می کند که با یک ":" از هم جدا شده اند.
rejectUnauthorized اگر درست باشد، گواهی سرور در برابر لیست CA های ارائه شده تأیید می شود. اگر تأیید ناموفق باشد، یک خطا برگردانده می شود.
secureProtocol روش SSL برای استفاده به عنوان مثال، SSLv3_method برای مجبور کردن SSL به نسخه 3.
servername نام سرور برای برنامه افزودنی SNI (Server Name Indication) TLS.
requestCert درست برای SSL دو طرفه. false برای SSL یک طرفه

استفاده از گزینه های SSL/TLS کلاینت

می‌توانید Edge Microgateway را به گونه‌ای پیکربندی کنید که هنگام اتصال به نقاط پایانی هدف، یک کلاینت TLS یا SSL باشد. در فایل پیکربندی Microgateway، از عنصر targets برای تنظیم گزینه های SSL/TLS استفاده کنید.

این مثال تنظیماتی را ارائه می دهد که برای همه هاست ها اعمال خواهد شد:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

در این مثال، تنظیمات فقط برای میزبان مشخص شده اعمال می شود:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

در اینجا یک مثال برای TLS آورده شده است:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

در اینجا لیستی از تمام گزینه های پشتیبانی شده مشتری وجود دارد:

گزینه توضیحات
pfx مسیر فایل pfx حاوی کلید خصوصی، گواهینامه و گواهینامه های CA مشتری در قالب PFX.
key مسیر فایل ca.key (در قالب PEM).
passphrase رشته ای حاوی عبارت عبور برای کلید خصوصی یا PFX.
cert مسیر فایل ca.cert (در قالب PEM).
ca مسیر فایل حاوی لیستی از گواهینامه های قابل اعتماد در قالب PEM.
ciphers رشته ای که رمزهای مورد استفاده را توصیف می کند که با یک ":" از هم جدا شده اند.
rejectUnauthorized اگر درست باشد، گواهی سرور در برابر لیست CA های ارائه شده تأیید می شود. اگر تأیید ناموفق باشد، یک خطا برگردانده می شود.
secureProtocol روش SSL برای استفاده به عنوان مثال، SSLv3_method برای مجبور کردن SSL به نسخه 3.
servername نام سرور برای برنامه افزودنی SNI (Server Name Indication) TLS.

سفارشی کردن پروکسی edgemicro-auth

به طور پیش فرض، Edge Microgateway از یک پروکسی مستقر در Apigee Edge برای احراز هویت OAuth2 استفاده می کند. این پروکسی زمانی مستقر می شود که در ابتدا edgemicro configure اجرا می کنید. می‌توانید پیکربندی پیش‌فرض این پراکسی را تغییر دهید تا پشتیبانی از ادعاهای سفارشی را به یک توکن وب JSON (JWT) اضافه کنید، انقضای نشانه را پیکربندی کنید، و نشانه‌های تازه‌سازی ایجاد کنید. برای جزئیات، به صفحه edgemicro-auth در GitHub مراجعه کنید.

با استفاده از سرویس احراز هویت سفارشی

به طور پیش فرض، Edge Microgateway از یک پروکسی مستقر در Apigee Edge برای احراز هویت OAuth2 استفاده می کند. این پروکسی زمانی مستقر می شود که در ابتدا edgemicro configure اجرا می کنید. به طور پیش فرض، URL این پروکسی در فایل پیکربندی Edge Microgateway به صورت زیر مشخص می شود:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

اگر می خواهید از سرویس سفارشی خود برای مدیریت احراز هویت استفاده کنید، مقدار authUri را در فایل پیکربندی تغییر دهید تا به سرویس شما اشاره کند. به عنوان مثال، ممکن است سرویسی داشته باشید که از LDAP برای تأیید هویت استفاده می کند.

مدیریت فایل های گزارش

Edge Microgateway اطلاعات مربوط به هر درخواست و پاسخ را ثبت می کند. فایل های گزارش اطلاعات مفیدی را برای اشکال زدایی و عیب یابی ارائه می دهند.

جایی که فایل های گزارش ذخیره می شوند

به طور پیش فرض، فایل های گزارش در /var/tmp ذخیره می شوند.

نحوه تغییر دایرکتوری فایل لاگ پیش فرض

دایرکتوری که فایل های گزارش در آن ذخیره می شوند در فایل پیکربندی Edge Microgateway مشخص شده است. برای جزئیات در مورد ایجاد تغییرات پیکربندی، به ایجاد تغییرات پیکربندی مراجعه کنید.

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

مقدار dir را تغییر دهید تا دایرکتوری فایل لاگ متفاوتی را مشخص کنید.

گزارش ها را به کنسول ارسال کنید

می‌توانید گزارش‌گیری را طوری پیکربندی کنید که اطلاعات گزارش به‌جای فایل گزارش به خروجی استاندارد ارسال شود. پرچم to_console را به صورت زیر روی true قرار دهید:

edgemicro:
  logging:
    to_console: true  

با این تنظیم، گزارش‌ها به خروجی استاندارد ارسال می‌شوند. در حال حاضر، نمی‌توانید گزارش‌ها را هم به stdout و هم به یک فایل log ارسال کنید.

نحوه تنظیم سطح ورود به سیستم

می‌توانید این سطوح گزارش را تنظیم کنید: اطلاعات ، هشدار ، و خطا . سطح اطلاعات توصیه می شود. تمام درخواست‌ها و پاسخ‌های API را ثبت می‌کند و پیش‌فرض است.

نحوه تغییر فواصل گزارش

می توانید این فواصل را در فایل پیکربندی Edge Microgateway پیکربندی کنید. برای جزئیات در مورد ایجاد تغییرات پیکربندی، به ایجاد تغییرات پیکربندی مراجعه کنید.

ویژگی های قابل تنظیم عبارتند از:

  • stats_log_interval : (پیش‌فرض: 60) فاصله زمانی، بر حسب ثانیه، زمانی که رکورد آمار در فایل گزارش API نوشته می‌شود.
  • rotate_interval : (پیش‌فرض: 24) بازه زمانی، بر حسب ساعت، زمانی که فایل‌های گزارش چرخش می‌شوند. به عنوان مثال:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

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

شیوه های خوب نگهداری فایل لاگ

از آنجایی که داده‌های فایل لاگ در طول زمان انباشته می‌شوند، Apigee توصیه می‌کند که از روش‌های زیر استفاده کنید:

  • از آنجایی که فایل‌های گزارش می‌توانند بسیار بزرگ شوند، مطمئن شوید که فهرست فایل لاگ فضای کافی دارد. به بخش های زیر که در آن فایل های گزارش ذخیره می شوند و نحوه تغییر دایرکتوری فایل گزارش پیش فرض مراجعه کنید.
  • حداقل یک بار در هفته فایل های گزارش را حذف یا به یک فهرست آرشیو جداگانه منتقل کنید.
  • اگر خط‌مشی شما حذف گزارش‌ها است، می‌توانید از دستور CLI edgemicro log -c برای حذف (پاک کردن) گزارش‌های قدیمی‌تر استفاده کنید.

قرارداد نامگذاری فایل لاگ

هر نمونه Edge Microgateway سه نوع فایل گزارش تولید می کند:

  • api - تمام درخواست‌ها و پاسخ‌هایی را که از طریق Edge Microgateway جریان می‌یابند ثبت می‌کند. شمارنده های API (آمار) و خطاها نیز در این فایل ثبت می شوند.
  • err - هر چیزی که به stderr ارسال می شود را ثبت می کند.
  • out - هر چیزی که به stdout ارسال شده است را ثبت می کند.

این قرارداد نامگذاری است:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

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

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

درباره محتویات فایل لاگ

اضافه شده در: v2.3.3

به‌طور پیش‌فرض، سرویس گزارش‌گیری JSON پراکسی‌های دانلود شده، محصولات و JSON Web Token (JWT) را حذف می‌کند. اگر می‌خواهید این اشیاء را در فایل‌های گزارش خروجی بگیرید، هنگام راه‌اندازی Edge Microgateway DEBUG=* را تنظیم کنید. به عنوان مثال:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

توجه: در ویندوز، از SET DEBUG=* استفاده کنید

محتویات فایل لاگ "api".

فایل لاگ "api" حاوی اطلاعات دقیق در مورد جریان درخواست ها و پاسخ ها از طریق Edge Microgateway است. نام فایل های لاگ "api" به این صورت است:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

برای هر درخواست ارسال شده به Edge Microgateway، چهار رویداد در فایل لاگ "api" ثبت می شود:

  • درخواست دریافتی از مشتری
  • درخواست خروجی به هدف
  • پاسخ دریافتی از هدف
  • پاسخ خروجی به مشتری

هر یک از این ورودی‌های جداگانه به صورت خلاصه نشان داده می‌شود تا به فشرده‌تر کردن فایل‌های گزارش کمک کند. در اینجا چهار ورودی نمونه وجود دارد که هر یک از چهار رویداد را نشان می دهد. در فایل log، آنها به این شکل هستند (شماره خطوط فقط برای مرجع در doc هستند، آنها در فایل log ظاهر نمی شوند).

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

بیایید یک به یک آنها را بررسی کنیم:

1. نمونه درخواست دریافتی از مشتری:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - مهر تاریخ یونیکس
  • اطلاعات - بستگی به زمینه دارد. بسته به سطح گزارش می تواند اطلاعات، هشدار یا خطا باشد. می تواند آمار برای یک رکورد آمار، هشدار برای هشدار، یا خطا برای خطا باشد.
  • req - رویداد را شناسایی می کند. در این صورت از مشتری درخواست کنید.
  • m - فعل HTTP مورد استفاده در درخواست.
  • u - بخشی از URL که مسیر پایه را دنبال می کند.
  • h - شماره میزبان و پورتی که Edge Microgateway در آن گوش می دهد.
  • r - میزبان و پورت راه دور که درخواست مشتری از آنجا شروع شده است.
  • i - شناسه درخواست. هر چهار ورودی رویداد این شناسه را به اشتراک خواهند گذاشت. به هر درخواست یک شناسه درخواست منحصر به فرد اختصاص داده می شود. همبستگی رکوردهای گزارش با شناسه درخواست می تواند بینش ارزشمندی در مورد تأخیر هدف ارائه دهد.
  • د - مدت زمان بر حسب میلی ثانیه از زمان دریافت درخواست توسط Edge Microgateway. در مثال بالا، پاسخ هدف برای درخواست 0 پس از 7 میلی ثانیه (خط 3) دریافت شد و پاسخ پس از 4 میلی ثانیه اضافی (خط 4) برای مشتری ارسال شد. به عبارت دیگر، کل تاخیر درخواست 11 میلی ثانیه بود که 7 میلی ثانیه توسط هدف و 4 میلی ثانیه توسط خود Edge Microgateway گرفته شد.

2. نمونه درخواست ارسالی به هدف:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - مهر تاریخ یونیکس
  • اطلاعات - بستگی به زمینه دارد. بسته به سطح گزارش می تواند اطلاعات، هشدار یا خطا باشد. می تواند آمار برای یک رکورد آمار، هشدار برای هشدار، یا خطا برای خطا باشد.
  • treq - رویداد را شناسایی می کند. در این مورد، درخواست هدف.
  • m - فعل HTTP مورد استفاده در درخواست هدف.
  • u - بخشی از URL که مسیر پایه را دنبال می کند.
  • h - شماره میزبان و پورت هدف باطن.
  • i - شناسه ورودی گزارش. هر چهار ورودی رویداد این شناسه را به اشتراک خواهند گذاشت.

3. نمونه پاسخ دریافتی از هدف

1436403888672 info tres s=200, d=7, i=0

1436403888651 - مهر تاریخ یونیکس

  • اطلاعات - بستگی به زمینه دارد. بسته به سطح گزارش می تواند اطلاعات، هشدار یا خطا باشد. می تواند آمار برای یک رکورد آمار، هشدار برای هشدار، یا خطا برای خطا باشد.
  • tres - رویداد را شناسایی می کند. در این مورد، پاسخ هدف.
  • s - وضعیت پاسخ HTTP.
  • د - مدت زمان بر حسب میلی ثانیه. زمان صرف شده برای تماس API توسط هدف.
  • i - شناسه ورودی گزارش. هر چهار ورودی رویداد این شناسه را به اشتراک خواهند گذاشت.

4. نمونه پاسخ خروجی به مشتری

1436403888676 info res s=200, d=11, i=0

1436403888651 - مهر تاریخ یونیکس

  • اطلاعات - بستگی به زمینه دارد. بسته به سطح گزارش می تواند اطلاعات، هشدار یا خطا باشد. می تواند آمار برای یک رکورد آمار، هشدار برای هشدار، یا خطا برای خطا باشد.
  • res - رویداد را شناسایی می کند. در این مورد، پاسخ به مشتری.
  • s - وضعیت پاسخ HTTP.
  • د - مدت زمان بر حسب میلی ثانیه. این کل زمان صرف شده توسط تماس API است، از جمله زمان صرف شده توسط API هدف و زمان صرف شده توسط Edge Microgateway.
  • i - شناسه ورودی گزارش. هر چهار ورودی رویداد این شناسه را به اشتراک خواهند گذاشت.

برنامه فایل لاگ

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

مرجع پیکربندی Edge Microgateway

محل فایل پیکربندی

ویژگی های پیکربندی توضیح داده شده در این بخش در فایل پیکربندی Edge Microgateway قرار دارند. برای جزئیات در مورد ایجاد تغییرات پیکربندی، به ایجاد تغییرات پیکربندی مراجعه کنید.

ویژگی های edge_config

این تنظیمات برای پیکربندی تعامل بین نمونه Edge Microgateway و Apigee Edge استفاده می شود.

  • بوت استرپ : (پیش‌فرض: هیچ‌کدام) یک URL که به یک سرویس خاص Edge Microgateway در حال اجرا در Apigee Edge اشاره می‌کند. Edge Microgateway از این سرویس برای برقراری ارتباط با Apigee Edge استفاده می کند. این URL زمانی که شما دستور تولید جفت کلید عمومی/خصوصی را اجرا می‌کنید، باز می‌گردد: edgemicro genkeys . برای جزئیات به تنظیمات و پیکربندی Edge Microgateway مراجعه کنید.
  • jwt_public_key : (پیش‌فرض: هیچکدام) نشانی اینترنتی که به پراکسی Edge Microgateway اشاره می‌کند که در Apigee Edge مستقر شده است. این پروکسی به عنوان یک نقطه پایانی احراز هویت برای صدور نشانه های دسترسی امضا شده به مشتریان عمل می کند. این URL زمانی که شما دستور استقرار پروکسی را اجرا می‌کنید، برگردانده می‌شود: edgemicro configure . برای جزئیات به تنظیمات و پیکربندی Edge Microgateway مراجعه کنید.

ویژگی های edgemicro

این تنظیمات فرآیند Edge Microgateway را پیکربندی می کند.

  • پورت : (پیش‌فرض: 8000) شماره پورتی که پردازش Edge Microgateway به آن گوش می‌دهد.
  • max_connections : (پیش‌فرض: -1) حداکثر تعداد اتصالات ورودی همزمان Edge Microgateway را مشخص می‌کند. اگر از این تعداد بیشتر شود، وضعیت زیر برگردانده می شود:

    res.statusCode = 429; // Too many requests
  • max_connections_hard : (پیش‌فرض: -1) حداکثر تعداد درخواست‌های همزمانی که Edge Microgateway می‌تواند قبل از قطع کردن اتصال دریافت کند. این تنظیم برای خنثی کردن حملات انکار سرویس در نظر گرفته شده است. به طور معمول، آن را روی عددی بزرگتر از max_connections تنظیم کنید.
  • ورود به سیستم :
    • سطح : (پیش‌فرض: خطا)
      • اطلاعات - تمام درخواست‌ها و پاسخ‌هایی را که از طریق یک نمونه Edge Microgateway جریان می‌یابد، ثبت می‌کند.
      • هشدار - فقط پیام های هشدار را ثبت می کند.
      • خطا - فقط پیام های خطا را ثبت می کند.
    • dir : (پیش‌فرض: /var/tmp) فهرستی که فایل‌های گزارش در آن ذخیره می‌شوند.
    • stats_log_interval : (پیش‌فرض: 60) فاصله زمانی بر حسب ثانیه، زمانی که رکورد آمار در فایل لاگ api نوشته می‌شود.
    • rotate_interval : (پیش‌فرض: 24) بازه زمانی، بر حسب ساعت، زمانی که فایل‌های گزارش چرخش می‌شوند.
  • پلاگین ها : پلاگین ها قابلیت هایی را به Edge Microgateway اضافه می کنند. برای جزئیات در مورد توسعه افزونه ها، به توسعه افزونه های سفارشی مراجعه کنید.
  • dir : یک مسیر نسبی از دایرکتوری ./gateway به دایرکتوری ./plugins یا یک مسیر مطلق.
  • sequence : لیستی از ماژول های افزونه برای افزودن به نمونه Edge Microgateway. ماژول ها به ترتیبی که در اینجا مشخص شده اند اجرا می شوند.
  • اشکال زدایی: اشکال زدایی از راه دور را به فرآیند Edge Microgateway اضافه می کند.
    • پورت : شماره پورتی برای گوش دادن. برای مثال، دیباگر IDE خود را طوری تنظیم کنید که در این پورت گوش کند.
    • args : استدلال هایی برای فرآیند اشکال زدایی. به عنوان مثال: args --nolazy
  • config_change_poll_interval: (پیش‌فرض: 600 ثانیه) Edge Microgateway یک پیکربندی جدید را به صورت دوره‌ای بارگیری می‌کند و در صورت تغییر، بارگذاری مجدد را اجرا می‌کند. نظرسنجی هر گونه تغییر ایجاد شده در Edge (تغییر در محصولات، پروکسی های آگاه از microgateway و غیره) و همچنین تغییرات ایجاد شده در فایل پیکربندی محلی را انتخاب می کند.
  • disable_config_poll_interval: (پیش‌فرض: نادرست) برای خاموش کردن نظرسنجی تغییر خودکار روی true تنظیم کنید.
  • request_timeout : یک مهلت زمانی برای درخواست های هدف تعیین می کند. تایم اوت بر حسب ثانیه تنظیم می شود. اگر مهلت زمانی رخ دهد، Edge Microgateway با یک کد وضعیت 504 پاسخ می دهد. (نسخه 2.4.x اضافه شد)

ویژگی های سرصفحه ها

این تنظیمات نحوه برخورد با هدرهای HTTP خاص را پیکربندی می کند.

  • x-forwarded-for : (پیش‌فرض: true) برای جلوگیری از ارسال هدرهای x-forwarded-for به هدف، روی false تنظیم کنید. توجه داشته باشید که اگر یک هدر x-forwarded-for در درخواست باشد، مقدار آن بر روی مقدار Client-ip در Edge Analytics تنظیم می‌شود.
  • x-forwarded-host : (پیش‌فرض: true) برای جلوگیری از ارسال سرصفحه‌های میزبان x-forwarded به هدف، روی false تنظیم کنید.
  • x-request-id : (پیش‌فرض: true) برای جلوگیری از ارسال هدر x-request-id به هدف، روی false تنظیم کنید.
  • x-response-time : (پیش‌فرض: true) برای جلوگیری از ارسال سرصفحه‌های x-response-time به هدف، روی false تنظیم کنید.
  • via : (پیش‌فرض: true) برای جلوگیری از ارسال سرصفحه‌ها به هدف، روی false تنظیم کنید.

ویژگی های oauth

این تنظیمات نحوه اجرای احراز هویت مشتری توسط Edge Microgateway را پیکربندی می‌کنند.

  • allowNoAuthorization : (پیش‌فرض: نادرست) اگر روی true تنظیم شود، تماس‌های API مجاز هستند از Edge Microgateway بدون هدر مجوز عبور کنند. برای نیاز به هدر Authorization (پیش‌فرض) این را روی false تنظیم کنید.
  • allowInvalidAuthorization : (پیش‌فرض: نادرست) اگر روی true تنظیم شود، در صورتی که رمز ارسال شده در هدر Authorization نامعتبر یا منقضی شده باشد، تماس‌های API مجاز به ارسال هستند. برای نیاز به نشانه های معتبر (پیش فرض) این را روی false قرار دهید.
  • autorization-header : (پیش فرض: Authorization: Bearer) هدر مورد استفاده برای ارسال رمز دسترسی به Edge Microgateway. ممکن است بخواهید در مواردی که هدف نیاز به استفاده از هدر مجوز برای اهداف دیگری دارد، پیش‌فرض را تغییر دهید.
  • api-key-header : (پیش‌فرض: x-api-key) نام هدر یا پارامتر کوئری که برای ارسال یک کلید API به Edge Microgateway استفاده می‌شود. همچنین استفاده از کلید API را ببینید.
  • KeepAuthHeader : (پیش‌فرض: false) اگر روی true تنظیم شود، هدر Authorization ارسال شده در درخواست به هدف ارسال می‌شود (حفظ می‌شود).
  • allowOAuthOnly - اگر روی true تنظیم شود، هر API باید یک سرصفحه مجوز با یک توکن دسترسی حامل داشته باشد. به شما امکان می‌دهد فقط به مدل امنیتی OAuth اجازه دهید (در حالی که سازگاری با عقب را حفظ می‌کند). (4.2.x اضافه شد)
  • allowAPIKeyOnly -- اگر روی true تنظیم شود، هر API باید یک هدر x-api-key (یا یک مکان سفارشی) با یک کلید API داشته باشد. به شما امکان می دهد فقط مدل امنیتی کلید API را مجاز کنید (در حالی که سازگاری با عقب را حفظ می کند). (4.2.x اضافه شد)

ویژگی های خاص پلاگین

برای جزئیات بیشتر در مورد ویژگی های قابل تنظیم برای هر افزونه به استفاده از افزونه ها مراجعه کنید.

فیلتر کردن پروکسی ها

می‌توانید فیلتر کنید کدام پروکسی‌های آگاه از میکروگیت‌وی را یک نمونه Edge Microgateway پردازش می‌کند. هنگامی که Edge Microgateway راه اندازی می شود، تمام پروکسی های microgateway آگاه را در سازمانی که با آن مرتبط است دانلود می کند. از پیکربندی زیر برای محدود کردن پراکسی هایی که میکرو گیت وی پردازش می کند استفاده کنید. برای مثال، این پیکربندی، پراکسی‌هایی را که microgateway پردازش می‌کند به سه عدد محدود می‌کند: edgemicro_proxy-1 ، edgemicro_proxy-2 و edgemicro_proxy-3 :

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

پوشاندن داده های تحلیلی

پیکربندی زیر از نمایش اطلاعات مسیر درخواست در تجزیه و تحلیل Edge جلوگیری می کند. موارد زیر را به پیکربندی microgateway اضافه کنید تا URI درخواست و/یا مسیر درخواست را پنهان کنید. توجه داشته باشید که URI از نام میزبان و قسمت های مسیر درخواست تشکیل شده است.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

راه اندازی Edge Microgateway در پشت فایروال شرکت

پشتیبانی از نسخه 4.2.x

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

گزینه 1:

اولین گزینه این است که گزینه edgemicro: proxy_tunnel را در فایل پیکربندی microgateway روی true تنظیم کنید:

edge_config:

    proxy: http://10.224.16.85:3128
    proxy_tunnel: true

وقتی proxy_tunnel درست باشد، Edge Microgateway از روش HTTP CONNECT برای تونل کردن درخواست‌های HTTP از طریق یک اتصال TCP استفاده می‌کند. (اگر متغیرهای محیطی برای پیکربندی پراکسی فعال باشند TLS نیز صادق است).

گزینه 2:

گزینه دوم این است که یک پروکسی مشخص کنید و proxy_tunnel را در فایل پیکربندی microgateway روی false قرار دهید. به عنوان مثال:

edge_config:
     proxy: http://10.224.16.85:3128
     proxy_tunnel: false

در این مورد، می‌توانید متغیرهای زیر را برای کنترل میزبان‌ها برای هر پراکسی HTTP که می‌خواهید استفاده کنید، یا اینکه کدام میزبان‌ها نباید پراکسی‌های Edge Microgateway را کنترل کنند، تنظیم کنید: HTTP_PROXY ، HTTPS_PROXY ، و NO_PROXY .

می‌توانید NO_PROXY را به‌عنوان فهرستی از دامنه‌هایی که Edge Microgateway نباید آنها را پراکسی کند، با کاما تعیین کنید. به عنوان مثال:

export NO_PROXY='localhost,localhost:8080'

HTTP_PROXY و HTTPS_PROXY را روی نقطه پایانی پراکسی HTTP تنظیم کنید. Edge Microgateway می تواند به آن پیام ارسال کند. به عنوان مثال:

export HTTP_PROXY='http://localhost:3786'

export HTTPS_PROXY='https://localhost:3786'

برای اطلاعات بیشتر در مورد این متغیرها، نگاه کنید به:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


همچنین ببینید

نحوه راه اندازی Edge Microgateway در پشت فایروال شرکت در انجمن Apigee.

استفاده از wildcard در پروکسی های Microgateway-aware

می توانید از یک یا چند علامت عام "*" در مسیر پایه یک پراکسی edgemicro_* (Microgateway-aware) استفاده کنید. به عنوان مثال، یک مسیر پایه از /team/*/members به ​​مشتریان اجازه می دهد بدون نیاز به ایجاد موارد جدید با https://[host]/team/blue/members و https://[host]/team/green/members تماس بگیرند. پروکسی های API برای پشتیبانی از تیم های جدید. توجه داشته باشید که /**/ پشتیبانی نمی شود.

مهم: Apigee استفاده از علامت "*" را به عنوان اولین عنصر مسیر پایه پشتیبانی نمی کند. به عنوان مثال، این مورد پشتیبانی نمی شود: /*/ جستجو.


اشکال زدایی و عیب یابی

اتصال به دیباگر

می‌توانید Edge Microgateway را با یک دیباگر مانند node-inspector اجرا کنید. این برای عیب یابی و اشکال زدایی افزونه های سفارشی مفید است.

  1. Edge Microgateway را در حالت اشکال زدایی مجدداً راه اندازی کنید. برای این کار DEBUG=* را به ابتدای دستور start اضافه کنید. به عنوان مثال:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed

    توجه: در ویندوز، از SET DEBUG=* استفاده کنید

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

می‌توانید پرچم‌های استاندارد Node.js مربوط به حالت اشکال‌زدایی را مشخص کنید. به عنوان مثال، --nolazy به اشکال زدایی کدهای ناهمزمان کمک می کند.

بررسی فایل های گزارش

اگر مشکل دارید، حتما فایل های گزارش را برای جزئیات اجرا و اطلاعات خطا بررسی کنید. برای جزئیات، به مدیریت فایل‌های گزارش مراجعه کنید.

با استفاده از امنیت کلید API

کلیدهای API مکانیزم ساده ای را برای احراز هویت مشتریانی که به Edge Microgateway درخواست می کنند ارائه می دهند. می‌توانید با کپی کردن مقدار Consumer Key (همچنین به نام Client ID) از یک محصول Apigee Edge که شامل پروکسی احراز هویت Edge Microgateway است، یک کلید API دریافت کنید.

ذخیره کلیدها

کلیدهای API با توکن های حامل مبادله می شوند که در حافظه پنهان ذخیره می شوند. می‌توانید کش را با تنظیم Cache-Control: no-cache در درخواست‌های دریافتی روی Edge Microgateway غیرفعال کنید.

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

برای جزئیات در مورد استفاده از نشانه OAuth با درخواست های پراکسی، Secure Edge Microgateway را ببینید.

استفاده از کلید API

برای جزئیات استفاده از کلیدهای API با درخواست‌های پراکسی، به Secure Edge Microgateway مراجعه کنید.

پیکربندی نام کلید API

به طور پیش فرض، x-api-key نامی است که برای هدر کلید API یا پارامتر query استفاده می شود. می توانید این پیش فرض را در فایل پیکربندی تغییر دهید، همانطور که در ایجاد تغییرات پیکربندی توضیح داده شده است. به عنوان مثال، برای تغییر نام به apiKey :

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey