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

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

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

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

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

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

ویدئو: برای کسب اطلاعات بیشتر در مورد زنجیره پروکسی 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. در Navigator ، روی علامت مثبت در کنار Target Endpoints کلیک کنید.
  3. در گفتگوی New Target Endpoint ، نام نقطه پایانی هدف را وارد کنید.
  4. در زیر کادر Target Endpoint Name ، یکی از موارد زیر را انتخاب کنید:
    • Proxy Chaining برای انتخاب از فهرستی از پروکسی هایی که قبلاً در سازمان و محیط هستند.
      1. در منوی کشویی نام پروکسی ، پروکسی مورد نظر را انتخاب کنید.
      2. در کادر Proxy Endpoint ، مسیر نقطه پایانی پروکسی مورد نظر را که می خواهید به آن متصل شوید وارد کنید.
    • Path Chaining برای ورود به مسیر پایه پروکسی هدف، مانند /mypath/myproxy/myendpoint .
  5. روی افزودن کلیک کنید.

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

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

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