پراکسیهای ارسال یک نقطه واحد فراهم میکنند که ازطریق آن چندین ماشین درخواستها را به یک سرور خارجی ارسال میکنند. آنها میتوانند خطمشیهای امنیتی را اجرا کنند، درخواستها را ثبت و تجزیهوتحلیل کنند، و کنشهای دیگری انجام دهند تا درخواستها از قوانین کسبوکارتان پیروی کنند. با Edge، پراکسی پیشرو معمولاً بین پراکسیهای API شما و «نقطه پایانی هدف» خارجی (سرور هدف زیرینه) واسطه میشود.
برای استفاده از پراکسی ارسال HTTP بین Edge و TargetEndpoint، باید تنظیمات پراکسی خروجی را در «پردازشگرهای پیام» (MPs) پیکربندی کنید. این داراییها «نقاط انتهایی اندازهگیری» را پیکربندی میکنند تا درخواستهای هدف را از Edge به پراکسی بازارسال HTTP هدایت کنند.
برای پیکربندی کردن 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 در آن اجرا میشود مشخص میکند. اگر این دارایی حذف شود، بهطور پیشفرض از درگاه ۸۰ برای HTTP و از درگاه ۴۴۳ برای 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 راهاندازی کنید. سرویس زیرینه میتواند درخواستی به پراکسی API ارسال کند، که سپس میتواند به سرویسهای خارجی متصل شود.