زنجیر کردن پراکسی های API با هم

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

شما می‌توانید مشخص کنید که یک پروکسی، نقطه پایانی هدف پروکسی دیگر باشد و به این ترتیب دو پروکسی را در یک زنجیره پروکسی به طور مؤثر به هم متصل کنید. زنجیره‌سازی پروکسی‌ها به این روش می‌تواند به شما در جلوگیری از پرش شبکه کمک کند و بنابراین عملکرد کلی را بهبود بخشد.

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

<LocalTargetConnection>
    <APIProxy>myproxy2</APIProxy>
    <ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>

ممکن است زنجیره‌سازی پروکسی زمانی مفید باشد که پروکسی‌ای داشته باشید که برخی از قابلیت‌های سطح پایین گسسته را ارائه می‌دهد که سایر پروکسی‌ها از آنها استفاده می‌کنند. به عنوان مثال، پروکسی‌ای که عملیات ایجاد/خواندن/به‌روزرسانی/حذف را با یک مخزن داده backend در معرض نمایش قرار می‌دهد، می‌تواند پروکسی هدف برای چندین پروکسی دیگر باشد که داده‌ها را در اختیار کلاینت‌ها قرار می‌دهند.

ویدیو: برای کسب اطلاعات بیشتر در مورد زنجیره‌سازی پروکسی API، یک ویدیوی کوتاه تماشا کنید.

نحوه کار زنجیره سازی پروکسی

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

موارد زیر تفاوت بین اتصال پروکسی‌ها با استفاده از HTTPTargetConnection و LocalTargetConnection (زنجیره‌ای کردن پروکسی) را نشان می‌دهد:

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

  • با مشخص کردن نام پروکسی هدف و نام ProxyEndpoint
  • با مشخص کردن مسیری به نقطه پایانی پروکسی هدف

شما پروکسی‌های هدف را در پیکربندی TargetEndpoint ، با استفاده از عنصر LocalTargetConnection ، همانطور که در زیر توضیح داده شده است، متصل می‌کنید.

اتصال پروکسی‌ها بر اساس نام پروکسی

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

وقتی با نام به یک پروکسی هدف متصل می‌شوید، نام پروکسی و نام ProxyEndpoint آن را مشخص می‌کنید.

مثال زیر یک پروکسی هدف به نام data-manager را به همراه نام ProxyEndpoint که توسط data-manager نمایش داده می‌شود، مشخص می‌کند. برای اطلاعات مرجع، به مرجع پیکربندی پروکسی API مراجعه کنید.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <APIProxy>data-manager</APIProxy>
        <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
</TargetEndpoint>

اتصال پروکسی‌ها بر اساس مسیر

شما می‌توانید پروکسی هدف را با مسیر نقطه پایانی آن مشخص کنید. ممکن است بخواهید این کار را زمانی انجام دهید که نام پروکسی را نمی‌دانید یا زمانی که ممکن است نام آن تغییر کند.

اگر پروکسی شما صرفاً مصرف‌کننده پروکسی هدف است - مثلاً وقتی که هر دو را توسعه نمی‌دهید - مسیر ممکن است مطمئن‌ترین راه برای اتصال باشد. برای مثال، اگر پروکسی که به آن متصل می‌شوید توسط تیم دیگری توسعه داده و نگهداری می‌شود، ممکن است بخواهید با استفاده از یک مسیر نقطه پایانی قابل اعتماد متصل شوید.

مثال زیر یک پروکسی هدف را در /v1/streetcarts/foodcarts/data-manager مشخص می‌کند، که در آن فرض می‌شود میزبان همان پروکسی فعلی است. برای اطلاعات مرجع، به مرجع پیکربندی پروکسی API مراجعه کنید.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <Path>/v1/streetcarts/foodcarts/data-manager</Path> 
    </LocalTargetConnection>
</TargetEndpoint>

اتصال پروکسی‌ها با کنسول مدیریت

شما می‌توانید با استفاده از کنسول مدیریت Edge، اتصالات زنجیره‌ای پروکسی ایجاد کنید.

  1. پروکسی‌ای را که قرار است پروکسی هدف را مصرف کند، باز کنید.
  2. در ناوبر ، روی علامت بعلاوه کنار Target Endpoints کلیک کنید.
  3. در پنجره‌ی «نقطه‌ی پایانی جدید» (New Target Endpoint )، نام نقطه‌ی پایانی هدف را وارد کنید.
  4. در زیر کادر Target Endpoint Name ، یکی از موارد زیر را انتخاب کنید:
    • زنجیره‌سازی پروکسی برای انتخاب از فهرستی از پروکسی‌های موجود در سازمان و محیط.
      1. در منوی کشویی Proxy Name ، پروکسی مورد نظر را انتخاب کنید.
      2. در کادر Proxy Endpoint ، مسیر نقطه پایانی پروکسی هدف که می‌خواهید به آن متصل شوید را وارد کنید.
    • زنجیره‌سازی مسیر برای وارد کردن مسیر پایه پروکسی هدف، مانند /mypath/myproxy/myendpoint .
  5. روی افزودن کلیک کنید.

پروکسی‌های زنجیره‌ای، محصولات API و امنیت

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

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