پروکسی رو به جلو را پیکربندی کنید

پروکسی های فوروارد یک نقطه واحد را فراهم می کنند که از طریق آن چندین ماشین درخواست ها را به یک سرور خارجی ارسال می کنند. آنها می توانند سیاست های امنیتی را اعمال کنند، درخواست ها را ثبت و تجزیه و تحلیل کنند، و سایر اقدامات را انجام دهند تا درخواست ها با قوانین تجاری شما مطابقت داشته باشند. با Edge، یک پروکسی فوروارد معمولاً پروکسی های API شما و یک TargetEndpoint خارجی (یک سرور هدف باطن) را واسطه می کند.

برای استفاده از یک پروکسی رو به جلو HTTP بین Edge و TargetEndpoint، باید تنظیمات پراکسی خروجی را در پردازشگرهای پیام (MPs) پیکربندی کنید. این ویژگی‌ها MPs را برای مسیریابی درخواست‌های هدف از Edge به HTTP Forward Proxy پیکربندی می‌کنند.

برای پیکربندی MP برای ارسال پروکسی:

  1. در MP، فایل زیر را ویرایش کنید:
    /opt/apigee/customer/application/message-processor.properties

    اگر فایل message-processor.properties وجود ندارد، آن را ایجاد کنید.

  2. فایل را ویرایش کنید تا ویژگی های مربوط به پروکسی را که در جدول زیر توضیح داده شده است تنظیم کنید.
  3. مطمئن شوید که فایل خواص متعلق به کاربر 'apigee' است:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. تغییرات خود را در فایل خواص ذخیره کنید.
  5. MP را مجدداً راه اندازی کنید، همانطور که مثال زیر نشان می دهد:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

جدول زیر ویژگی های فایل message-processor.properties را که برای پیکربندی MP برای پروکسی کردن به یک سرور باطن استفاده می کنید، توضیح می دهد:

ویژگی شرح
conf_http_HTTPClient.use.proxy

اجازه استفاده از پروکسی فوروارد را می دهد. مقدار پیش‌فرض true است، به این معنی که می‌توانید از یک پروکسی فوروارد در لایه پروکسی API با گنجاندن XML مربوطه در پیکربندی بسته خود استفاده کنید.

اگر این مقدار را روی false تنظیم کنید، نمی توانید از پروکسی فوروارد استفاده کنید.

conf_http_HTTPClient.use.tunneling

به طور پیش فرض Edge از تونل سازی برای تمام ترافیک استفاده می کند. برای غیرفعال کردن تونل سازی به طور پیش فرض، این ویژگی را روی "false" تنظیم کنید.

use.proxy.host.header.with.target.uri

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

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>
conf/http.properties+HTTPClient.proxy.type

نوع پراکسی HTTP را به صورت HTTP یا HTTPS مشخص می کند. به طور پیش فرض از "HTTP" استفاده می کند.

conf/http.properties+HTTPClient.proxy.host

نام میزبان یا آدرس IP که در آن پراکسی HTTP در حال اجرا است را مشخص می کند.

conf/http.properties+HTTPClient.proxy.port

پورتی را که پروکسی HTTP روی آن اجرا می شود را مشخص می کند. اگر این ویژگی حذف شود، به طور پیش فرض از پورت 80 برای HTTP و پورت 443 برای HTTPS استفاده می کند.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

اگر پروکسی HTTP به احراز هویت اولیه نیاز دارد، از این ویژگی ها برای ارائه جزئیات مجوز استفاده کنید.

مثلا:

conf_http_HTTPClient.use.proxy=true
conf_http_HTTPClient.use.tunneling=false
conf/http.properties+HTTPClient.proxy.type=HTTP
conf/http.properties+HTTPClient.proxy.host=my.host.com
conf/http.properties+HTTPClient.proxy.port=3128
conf/http.properties+HTTPClient.proxy.user=USERNAME
conf/http.properties+HTTPClient.proxy.password=PASSWORD

اگر پروکسی فوروارد برای MP پیکربندی شده باشد، تمام ترافیکی که از پراکسی‌های API به هدف‌های باطنی می‌رود، از طریق پراکسی پیشروی HTTP مشخص شده می‌رود. اگر ترافیک یک هدف خاص از یک پراکسی API باید مستقیماً به هدف پشتیبان برود و از پراکسی فوروارد عبور کند، ویژگی زیر را در TargetEndpoint تنظیم کنید تا پراکسی پیشروی HTTP را لغو کند:

<Property name="use.proxy">false</Property>

برای اطلاعات بیشتر در مورد تنظیم ویژگی های TargetEndpoint، از جمله نحوه پیکربندی اتصال به نقطه پایانی هدف، به مرجع ویژگی های نقطه پایانی مراجعه کنید.

برای غیرفعال کردن پروکسی فوروارد برای همه اهداف به صورت پیش‌فرض، ویژگی زیر را در فایل message-processor.properties خود تنظیم کنید:

conf_http_HTTPClient.use.proxy=false

سپس use.proxy برای هر TargetEndpoint که می‌خواهید از طریق یک پروکسی HTTP فوروارد عبور کنید، روی "true" تنظیم کنید:

<Property name="use.proxy">true</Property>

به طور پیش فرض Edge از تونل سازی برای ترافیک به پراکسی استفاده می کند. برای غیرفعال کردن تونل سازی به طور پیش فرض، ویژگی زیر را در فایل message-processor.properties تنظیم کنید:

conf_http_HTTPClient.use.tunneling=false

اگر می‌خواهید تونل‌سازی را برای یک هدف خاص غیرفعال کنید، ویژگی use.proxy.tunneling را در TargetEndpoint تنظیم کنید. اگر هدف از TLS/SSL استفاده می کند، این ویژگی نادیده گرفته می شود و پیام همیشه از طریق یک تونل ارسال می شود:

<Property name="use.proxy.tunneling">false</Property>

برای اینکه خود Edge به عنوان پروکسی فوروارد عمل کند - دریافت درخواست‌ها از خدمات باطن و مسیریابی آنها به اینترنت خارج از شرکت - ابتدا یک پراکسی API را در Edge تنظیم کنید. سپس سرویس Backend می تواند درخواستی را به پروکسی API ارسال کند، که سپس می تواند به سرویس های خارجی متصل شود.