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