پروکسی های فوروارد یک نقطه واحد را فراهم می کنند که از طریق آن چندین ماشین درخواست ها را به یک سرور خارجی ارسال می کنند. آنها می توانند سیاست های امنیتی را اعمال کنند، درخواست ها را ثبت و تجزیه و تحلیل کنند، و سایر اقدامات را انجام دهند تا درخواست ها با قوانین تجاری شما مطابقت داشته باشند. با Edge، یک پروکسی فوروارد معمولاً پروکسی های API شما و یک TargetEndpoint خارجی (یک سرور هدف باطن) را واسطه می کند.
برای استفاده از یک پروکسی رو به جلو HTTP بین Edge و TargetEndpoint، باید تنظیمات پراکسی خروجی را در پردازشگرهای پیام (MPs) پیکربندی کنید. این ویژگیها MPs را برای مسیریابی درخواستهای هدف از Edge به HTTP Forward Proxy پیکربندی میکنند.
برای پیکربندی MP برای ارسال پروکسی:
- در MP، فایل زیر را ویرایش کنید:
/opt/apigee/customer/application/message-processor.properties
اگر فایل
message-processor.properties
وجود ندارد، آن را ایجاد کنید. - فایل را ویرایش کنید تا ویژگی های مربوط به پروکسی را که در جدول زیر توضیح داده شده است تنظیم کنید.
- مطمئن شوید که فایل خواص متعلق به کاربر 'apigee' است:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- تغییرات خود را در فایل خواص ذخیره کنید.
- MP را مجدداً راه اندازی کنید، همانطور که مثال زیر نشان می دهد:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
جدول زیر ویژگی های فایل message-processor.properties
را که برای پیکربندی MP برای پروکسی کردن به یک سرور باطن استفاده می کنید، توضیح می دهد:
اموال | توضیحات |
---|---|
conf_http_HTTPClient.use.proxy | اجازه استفاده از پروکسی فوروارد را می دهد. مقدار پیشفرض اگر این مقدار را روی |
conf_http_HTTPClient.use.tunneling | به طور پیش فرض Edge از تونل سازی برای تمام ترافیک استفاده می کند. برای غیرفعال کردن تونل سازی به طور پیش فرض، این ویژگی را روی "false" تنظیم کنید. |
use.proxy.host.header.with.target.uri | میزبان و پورت مورد نظر را به عنوان هدر <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 ارسال کند، که سپس می تواند به سرویس های خارجی متصل شود.