أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
يصف هذا الموضوع خصائص النقل التي يمكن ضبطها في TargetEndpoint وProxyEndpoint. للتحكم في سلوك المراسلة والاتصال. للحصول على التغطية الكاملة لـ TargetEndpoint وإعداد ProxyEndpoint، يُرجى الاطّلاع على مرجع ضبط الخادم الوكيل لواجهة برمجة التطبيقات.
خصائص نقل TargetEndpoint
يحدد عنصر HTTPTargetConnection في تهيئات TargetEndpoint مجموعة من HTTP خصائص النقل. يمكنك استخدام هذه السمات لضبط الإعدادات على مستوى النقل.
يتم ضبط الخصائص على عناصر TargetEndpoint HTTPTargetConnection كما هو موضّح أدناه:
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> <Properties> <Property name="supports.http10">true</Property> <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property> <Property name="retain.queryparams">apikey</Property> </Properties> <CommonName>COMMON_NAME_HERE</CommonName> </HTTPTargetConnection> </TargetEndpoint>
موقع نقل TargetEndpoint المواصفات
اسم الموقع | القيمة الافتراضية | الوصف |
---|---|---|
keepalive.timeout.millis |
60000 |
مهلة عدم نشاط الاتصال للاتصال المستهدف في مجموعة الاتصالات. إذا كانت الاتصال في وحدة العزل غير نشِط لفترة قصيرة بعد الحد الأقصى المحدد، يصبح الاتصال مُغْلَق. |
connect.timeout.millis |
|
انتهت مهلة الاتصال المستهدَف. تعرض Edge رمز حالة HTTP |
io.timeout.millis |
55000 |
إذا لم تكن هناك بيانات للقراءة للعدد المحدد من المللي ثانية، أو إذا كان المقبس غير جاهز لكتابة البيانات للعدد المحدد من المللي ثانية، إذًا فإن المعاملة كمهلة.
يجب أن تكون هذه القيمة دائمًا أصغر من قيمة سمةproxy_read_timeout للمضيف الظاهري. يجب أن تكون هذه القيمة أقل من المهلة التي تستخدمها السمة جهاز توجيه للاتصال بمعالج الرسائل. راجِع ضبط مهلة جهاز التوجيه أخرى. راجِع إعداد io.timeout.millis وapi.timeout لنظام Edge. لمعرفة المزيد. |
supports.http10 |
true |
إذا كانت القيمة هي true وأرسل العميل طلب 1.0، يتم أيضًا إرسال القيمة 1.0 إلى القيمة المستهدفة.
طلبك. وبخلاف ذلك، يتم إرسال طلب 1.1 إلى الهدف. |
supports.http11 |
true |
إذا كانت هذه القيمة هي true وأرسل العميل طلب 1.1، يتم أيضًا إرسال الهدف 1.1 أيضًا.
وإلا يتم إرسال طلب 1.0 إلى الهدف. |
use.proxy |
true |
في حال الضبط على true ، وتم تحديد إعدادات الخادم الوكيل في
http.properties (عمليات النشر داخل الشركة فقط)، ثم استهداف الاتصالات
تم تعيينها على استخدام الخادم الوكيل المحدد. |
use.proxy.tunneling |
true |
في حال ضبط هذا الإعداد على true ، وتحديد إعدادات الخادم الوكيل في
http.properties (عمليات النشر داخل الشركة فقط)، ثم الاستهداف
تم تعيين الاتصالات على استخدام النفق المحدد. فإذا كان الهدف يستخدم بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL)، فعندئذٍ
يتم تجاهل الرسالة، ويتم إرسال الرسالة دائمًا عبر نفق. |
enable.method.override |
false |
بالنسبة إلى طريقة HTTP المحدّدة، يتم ضبط عنوان X-HTTP-Method-Override على
الطلب الصادر إلى الخدمة المستهدفة. على سبيل المثال: <Property
name="GET.override.method">POST</Property> |
*.override.method |
لا ينطبق | بالنسبة إلى طريقة HTTP المحدّدة، يتم ضبط عنوان X-HTTP-Method-Override على
طلب المغادرة. على سبيل المثال: <Property
name="GET.override.method">POST</Property> |
request.streaming.enabled |
false |
بشكل تلقائي ( |
response.streaming.enabled |
false |
بشكل تلقائي ( |
success.codes |
لا ينطبق |
بشكل تلقائي، يتعامل Apigee Edge مع رمز HTTP يؤدي ضبط هذه السمة إلى استبدال القيم التلقائية. لذلك، إذا أردت إضافة
رمز HTTP <Property name="success.codes">1XX,2XX,3XX,400</Property> إذا كنت تريد أن يتم التعامل مع رمز HTTP <Property name="success.codes">400</Property> من خلال ضبط رمز HTTP |
compression.algorithm |
لا ينطبق |
تعيد Apigee Edge تلقائيًا توجيه الطلبات إلى الهدف باستخدام نوع الضغط نفسه.
حسب طلب العميل. إذا تم استلام الطلب من العميل باستخدام، على سبيل المثال، gzip
الضغط، ثم يعيد Apigee Edge توجيه الطلب للاستهداف باستخدام ضغط gzip. في حال حذف
يستخدم الاستجابة المستلَمة من الهدف تهبئة، ثم يعيد Apigee Edge الرد إلى
العميل باستخدام الانكماش. القيمتان المسموح بإدراجهما هما:
راجع أيضًا: هل يتيح Apigee الضغط أو إلغاء الضغط باستخدام GZIP أو الانضغاط؟ |
request.retain.headers. |
true |
تحتفظ Apigee Edge دائمًا بجميع عناوين HTTP في الرسائل الصادرة تلقائيًا. عند الضبط
إلى true ، يتم ضبط جميع عناوين HTTP المتوفّرة في الطلب الوارد على
طلب خروج. |
request.retain.headers |
لا ينطبق | تحدِّد هذه السياسة عناوين HTTP محدّدة من الطلب الذي يجب ضبطه على الصفحة الصادرة.
الطلب إلى الخدمة المستهدفة. على سبيل المثال، لمرور User-Agent
في المثال، اضبط القيمة request.retain.headers على User-Agent .
يتم تحديد عناوين HTTP متعددة كقائمة مفصولة بفواصل، على سبيل المثال،
User-Agent,Referer,Accept-Language يلغي هذا الموقع
request.retain.headers.enabled إذا request.retain.headers.enabled
تم ضبط القيمة على false ، أي رؤوس محدَّدة في
لا يزال موقع request.retain.headers مضبوطًا على الرسالة الصادرة. |
response.retain.headers. |
true |
تحتفظ Apigee Edge دائمًا بجميع عناوين HTTP في الرسائل الصادرة تلقائيًا. عند الضبط
إلى true ، تكون جميع عناوين HTTP متاحة في الاستجابة الواردة من الهدف
يتم ضبط الخدمة على الاستجابة الصادرة قبل تمريرها إلى ProxyEndpoint. |
response.retain.headers |
لا ينطبق | تحديد عناوين HTTP محددة من الاستجابة التي يجب تحديدها على عنوان البريد الصادر
قبل تمريره إلى ProxyEndpoint. على سبيل المثال، لمرور
عنوان Expires ، اضبط القيمة response.retain.headers على
Expires ويتم تحديد عناوين HTTP متعددة كقائمة مفصولة بفواصل،
على سبيل المثال، Expires,Set-Cookie . يلغي هذا الموقع
response.retain.headers.enabled في حال حذف
تم ضبط response.retain.headers.enabled على false ، أي عناوين.
المحددة في السمة response.retain.headers لا تزال مضبوطة على
رسالة صادرة. |
retain.queryparams. |
true |
تحتفظ Apigee Edge دائمًا بجميع معلَمات طلب البحث في الطلبات الصادرة. فعندما
يتم ضبطها على true ، يتم ضبط جميع مَعلمات طلب البحث المتوفّرة في الطلب الوارد على
الطلب الصادر إلى الخدمة المستهدفة. |
retain.queryparams |
لا ينطبق | تحديد مَعلمات طلب بحث معيّنة لضبطها في الطلب الصادر على سبيل المثال، بهدف
تضمين معلَمة طلب البحث apikey من رسالة الطلب، وتعيين
من retain.queryparams إلى apikey . معلمات طلب البحث المتعددة
محددة كقائمة مفصولة بفواصل، مثل apikey,environment . هذا النمط
تلغي السمة retain.queryparams.enabled . |
مواقع نقل ProxyEndpoint
تحدّد عناصر ProxyEndpoint HTTPTargetConnection مجموعة من خصائص نقل HTTP. هذه يمكن استخدام المواقع لضبط عمليات الضبط على مستوى النقل.
يتم ضبط الخصائص على عناصر ProxyEndpoint HTTPProxyConnection على النحو التالي:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <Property name="request.streaming.enabled">true</Property> </Properties> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> </ProxyEndpoint>
لمزيد من المعلومات حول المضيفات الافتراضية، يُرجى الاطّلاع على مقالة لمحة عن المضيفات الافتراضية.
موقع نقل ProxyEndpoint المواصفات
اسم الموقع | القيمة الافتراضية | الوصف |
---|---|---|
X-Forwarded-For |
false |
عند الضبط على true ، تتم إضافة عنوان IP للمضيف الظاهري إلى طلب البريد الصادر
لعنوان HTTP X-Forwarded-For . |
request.streaming. |
false |
بشكل تلقائي (false )، تتم قراءة حمولات طلبات HTTP في المخزن المؤقت والسياسات التي يمكن أن
تعمل على عمل الحمولة كما هو متوقع. وفي الحالات التي تكون فيها الحمولات أكبر من
حجم المخزن المؤقت (10 ميغابايت)، فيمكنك تعيين هذا
إلى true . عند ضبط السياسة true ، لا تتم قراءة حمولات بيانات طلبات HTTP في المخزن المؤقت. هم
وبثها كما هي إلى تدفق طلب TargetEndpoint في هذه الحالة، أي سياسات تعمل
على الحمولة في تدفق طلب ProxyEndpoint. راجِع أيضًا طلبات البث والردود. |
response.streaming. |
false |
بشكل تلقائي (false )، تتم قراءة حمولات استجابة HTTP في المخزن المؤقت والسياسات التي
يمكنها العمل على عمل الحمولة كما هو متوقع. في الحالات التي تكون فيها الحمولات أكبر من
حجم المخزن المؤقت (10 ميغابايت)، فيمكنك تعيين
إلى true . عند ضبط السياسة true ، لا تتم قراءة حمولات استجابة HTTP في المخزن المؤقت. هم
كما هي مع العميل. في هذه الحالة، فإن أي سياسات تعمل على الحمولة في
تم تجاوز مسار استجابة ProxyEndpoint. راجِع أيضًا طلبات البث والردود. |
compression.algorithm |
لا ينطبق |
تلقائيًا، تستخدم Apigee Edge نوع الضغط المحدّد لأي رسالة يتم استلامها. بالنسبة على سبيل المثال، حيث يرسل العميل طلبًا يستخدم ضغط gzip، في Apigee Edge يعيد توجيه الطلب للاستهداف باستخدام ضغط gzip. يمكنك ضبط ميزة الضغط الخوارزميات بشكل صريح من خلال تعيين هذه الخاصية على TargetEndpoint أو ProxyEndpoint (نقطة نهاية الخادم الوكيل). القيمتان المسموح بإدراجهما هما:
راجع أيضًا: هل يتيح Apigee الضغط أو إلغاء الضغط باستخدام GZIP أو الانضغاط؟ |
api.timeout |
لا ينطبق |
ضبط المهلة للخوادم الوكيلة الفردية لواجهة برمجة التطبيقات يمكنك إعداد الخوادم الوكيلة لواجهة برمجة التطبيقات، حتى تلك التي تحتوي على
البث،
للانتهاء بعد وقت محدد بالحالة
لا يمكنك ضبط هذه السمة باستخدام متغيّر. يمكن أيضًا للعملاء الذين لا يمكنهم تعديل مهلات Edge ضبط خادم وكيل لواجهة برمجة التطبيقات. المهلة، طالما أن المهلة أقصر من معالج رسائل Edge العادي النهائية لمدة 57 ثانية. راجِع إعداد io.timeout.millis وapi.timeout لنظام Edge. لمعرفة المزيد. |
إعداد io.timeout.millis وapi.timeout لنظام Edge
على Edge، تتم عملية تشغيل io.timeout.millis
وapi.timeout
.
مرتبطين معًا.
عند كل طلب يتم إرساله إلى خادم وكيل لواجهة برمجة التطبيقات:
- يرسل جهاز التوجيه قيمة المهلة إلى معالج الرسائل. قيمة مهلة جهاز التوجيه إما
قيمة
proxy_read_timeout
التي حددها المضيف الافتراضي الذي يعالج الطلب، أو قيمة المهلة التلقائية وهي 57 ثانية. - يضبط معالج الرسائل بعد ذلك
api.timeout
:- إذا لم يتم ضبط
api.timeout
على مستوى الخادم الوكيل، اضبطه على "مهلة جهاز التوجيه". - إذا تم ضبط
api.timeout
على مستوى الخادم الوكيل، اضبطه في معالج الرسائل على أقلّ من مهلة جهاز التوجيه أو قيمةapi.timeout
.
- إذا لم يتم ضبط
تحدّد قيمة
api.timeout
الحد الأقصى لمدة الوقت الذي يستغرقه وكيل واجهة برمجة التطبيقات تنفيذها من طلب البيانات من واجهة برمجة التطبيقات إلى الاستجابة.بعد تنفيذ كل سياسة في الخادم الوكيل لواجهة برمجة التطبيقات، أو قبل أن يرسل معالج الرسائل الطلب إلى نقطة النهاية المستهدفة، يحسبه معالج الرسائل (
api.timeout
- الوقت المنقضي من بداية الطلب). وإذا كانت القيمة أقل من صفر، يعني ذلك انتهاء صلاحية الحدّ الأقصى لوقت معالجة الطلب فسيرجع معالج الرسائل504
.تحدّد قيمة
io.timeout.millis
الحدّ الأقصى لمقدار الوقت الذي تستغرقه نقطة النهاية المستهدفة. أن يستجيبوا.قبل الاتصال بنقطة نهاية مستهدفة، يحدد معالج الرسائل أقل (
api.timeout
- الوقت المنقضي من بداية الطلب) وio.timeout.millis
. بعد ذلك، تضبطio.timeout.millis
على هذه القيمة.- في حال انتهاء المهلة أثناء كتابة طلب HTTP،
408, Request Timeout
. - إذا انتهت المهلة أثناء قراءة استجابة HTTP،
504, Gateway Timeout
.
- في حال انتهاء المهلة أثناء كتابة طلب HTTP،
لمحة عن ScriptTarget لتطبيقات Node.js
يُستخدم العنصر ScriptTarget لدمج تطبيق Node.js في الخادم الوكيل. بالنسبة للحصول على معلومات حول استخدام Node.js و ScriptTarget، راجع:
لمحة عن نقاط النهاية HostedTarget
علامة <HostedTarget/>
فارغة تطلب من Edge استخدام Node.js كهدف لها.
تطبيق جديد يتم نشره في بيئة الأهداف المستضافة. للحصول على التفاصيل، يمكنك مراجعة
نظرة عامة على الأهداف المستضافة.