أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
في عملية التواصل بين العميل والخادم، يستجيب الخادم برمز حالة HTTP 405
Method Not Allowed إذا كان الخادم على دراية ب
طريقة طلب HTTP التي يقدّمها العميل
، ولكنّها غير متوافقة مع المورد المستهدَف. وبالمثل في Apigee Edge، يمكن أن يستجيب خادم الخلفية برمز حالة HTTP 405 Method Not Allowed.
يتوقّع Apigee Edge أن يُرسِل خادم الخلفية استجابات 405 Method Not Allowed
مع قائمة بالطُرق المسموح بها في عنوان Allow، وفقًا للمواصفات
RFC 7231، القسم 6.5.5: 405 Method Not Allowed.
يجب إرسال عنوان Allow بالتنسيق التالي:
Allow: HTTP_METHODS
على سبيل المثال، إذا كان خادم الخلفية يسمح بالطُرق GET وPOST وHEAD، عليك التأكّد من أنّ عنوان Allow يتضمّنها على النحو التالي:
Allow: GET, POST, HEAD
إذا لم يُرسِل خادم الخلفية عنوان Allow مع رمز حالة HTTP
405 Method Not Allowed, يعرض Apigee رمز حالة HTTP 502 Bad
Gateway مع رمز الخطأ protocol.http.Response405WithoutAllowHeader لتطبيق العميل. الحل المقترَح لمعالجة هذا الخطأ هو
إصلاح خادم الخلفية للالتزام بالمواصفات
RFC 7231، القسم 6.5.5: 405 Method Not Allowed أو استخدام معالجة الأخطاء للردّ برمز حالة HTTP 405 Method Not Allowed بما في ذلك عنوان Allow كما هو موضّح في دليل تحديد المشاكل وحلّها
502 Bad Gateway - Response 405 without Allow header.
ومع ذلك، في بعض الحالات الاستثنائية، قد يتعذّر إصلاح خادم الخلفية أو تعديل خادم وكيل واجهة برمجة التطبيقات لمعالجة هذه المشكلة على الفور.
في هذه الحالات، يمكنك ضبط عنوان "تجاهُل السماح" للسمة 405
HTTP.ignore.allow_header.for.405 على مستوى
"معالج الرسائل" مؤقتًا. يؤدي ضبط هذه السمة على true إلى منع Apigee
من عرض استجابة 502 Bad Gateway لتطبيقات العميل حتى إذا أرسل
خادم الخلفية رمز حالة HTTP 405 Method Not Allowed بدون
عنوان Allow.
عندما يصبح بإمكانك إصلاح خادم الخلفية لإرسال رمز حالة HTTP 405 Method
Not Allowed مع عنوان Allow، يمكنك إعادة السمة
HTTP.ignore.allow_header.for.405 إلى قيمتها التلقائية false.
قبل البدء
قبل استخدام الخطوات الواردة في هذا المستند، تأكَّد من فهم المواضيع التالية:
- قراءة دليل تحديد المشاكل وحلّها - 502 Bad Gateway - response 405 without Allow header.
- إذا لم تكن على دراية بإعداد الخصائص لـ Edge في Private Cloud، يُرجى قراءة كيفية إعداد Edge.
ضبط عنوان "تجاهُل السماح" للسمة 405 على `true` في "معالجات الرسائل"
في Apigee Edge، يتم ضبط السمة HTTP.ignore.allow_header.for.405 على
false تلقائيًا. يتيح ذلك لـ Apigee Edge عرض 502 Bad
Gateway مع رمز الخطأ protocol.http.Response405WithoutAllowHeader لتطبيقات العميل إذا أرسل خادم الخلفية رمز حالة HTTP 405 Method Not
Allowed بدون عنوان Allow. إذا أردت منع Apigee Edge من
إرسال 502 Bad Gateway إلى تطبيقات العميل، عليك ضبط قيمة
السمة HTTP.ignore.allow_header.for.405 على true في "معالجات
الرسائل".
يوضِّح هذا القسم كيفية ضبط السمة
HTTP.ignore.allow_header.for.405 على true في
"معالجات الرسائل"، باستخدام الرمز المميّز وفقًا للغة التي تم وصفها في
كيفية إعداد Edge.
-
على جهاز "معالج الرسائل"، افتح الملف التالي في محرّر. إذا لم يكن الملف موجودًا ، أنشِئه.
/opt/apigee/customer/application/message-processor.properties
على سبيل المثال، لفتح الملف باستخدام vi، أدخِل ما يلي:
vi /opt/apigee/customer/application/message-processor.properties
- أضِف سطرًا بالتنسيق التالي إلى ملف الخصائص:
conf_http_HTTP.ignore.allow_header.for.405=true
- احفظ التغييرات.
- تأكَّد من أنّ المستخدم
apigeeهو مالك ملف الخصائص كما هو موضّح أدناه:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- أعِد تشغيل "معالج الرسائل" كما هو موضّح أدناه:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- إذا كان لديك أكثر من "معالج رسائل"، كرِّر الخطوات أعلاه على جميع "معالجات الرسائل"
التأكّد من ضبط عنوان "تجاهُل السماح" للسمة 405 على `true` في "معالجات الرسائل"
يوضِّح هذا القسم كيفية التأكّد من أنّه تم تعديل السمة
HTTP.ignore.allow_header.for.405 بنجاح إلى true
في "معالجات الرسائل".
على الرغم من أنّك تستخدم الرمز المميّز conf_http_HTTP.ignore.allow_header.for.405 لتعديل
قيمة السمة في "معالج الرسائل"، عليك التأكّد مما إذا تم ضبط السمة الفعلية
HTTP.ignore.allow_header.for.405 على true.
- على جهاز "معالج الرسائل"، ابحث عن السمة
HTTP.ignore.allow_header.for.405في الدليل/opt/apigee/edge-message-processor/confوتأكَّد مما إذا تم ضبطها علىtrueكما هو موضّح أدناه:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- إذا تم تعديل السمة بنجاح في "معالج الرسائل"، من المفترض أن يعرض الأمر أعلاه
قيمة السمة
HTTP.ignore.allow_header.for.405على أنّهاtrueفي الملفhttp.propertiesكما هو موضّح أدناه:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- إذا كنت لا تزال ترى قيمة السمة
HTTP.ignore.allow_header.for.405على أنّهاfalse، تأكَّد من أنّك اتّبعت جميع الخطوات الموضّحة في ضبط عنوان "تجاهُل السماح" للسمة 405 على `true` في "معالجات الرسائل" بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح. - إذا كنت لا تزال غير قادر على تعديل السمة
HTTP.ignore.allow_header.for.405، يُرجى التواصل مع فريق دعم Apigee Edge.
ضبط عنوان "تجاهُل السماح" للسمة 405 على `false` في "معالجات الرسائل"
يوضِّح هذا القسم كيفية ضبط السمة
HTTP.ignore.allow_header.for.405 على قيمتها التلقائية false
في "معالج الرسائل"، باستخدام الرمز المميّز وفقًا للغة التي تم وصفها في
كيفية إعداد Edge.
- تأكَّد مما إذا تم تعديل السمة
HTTP.ignore.allow_header.for.405إلىtrue. يمكنك إجراء ذلك من خلال البحث عن هذه السمة في الدليل/opt/apigee/edge-message-processor/confوالتحقّق من قيمتها باستخدام الأمر التالي:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- إذا تم ضبط السمة على
trueفي "معالج الرسائل"، من المفترض أن يعرض الأمر أعلاه قيمة السمةHTTP.ignore.allow_header.for.405على أنّهاtrueفي الملفhttp.propertiesكما هو موضّح أدناه:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- إذا كان الأمر أعلاه يشير إلى أنّ السمة
HTTP.ignore.allow_header.for.405تم ضبطها علىfalse(القيمة التلقائية)، ليس عليك اتّخاذ أي إجراء آخر. أي عليك تخطّي الخطوات التالية. - إذا تم ضبط السمة
HTTP.ignore.allow_header.for.405علىtrue، اتّبِع الخطوات التالية للعودة إلى قيمتها التلقائيةfalse. على جهاز "معالج الرسائل"، افتح الملف التالي في محرّر:
/opt/apigee/customer/application/message-processor.properties
على سبيل المثال، لفتح الملف باستخدام vi، أدخِل ما يلي:
vi /opt/apigee/customer/application/message-processor.properties
- أزِل السطر التالي من ملف الخصائص:
conf_http_HTTP.ignore.allow_header.for.405=true
- احفظ التغييرات.
- تأكَّد من أنّ المستخدم
apigeeهو مالك ملف الخصائص كما هو موضّح أدناه:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- أعِد تشغيل "معالج الرسائل" كما هو موضّح أدناه:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- إذا كان لديك أكثر من "معالج رسائل"، كرِّر الخطوات أعلاه على جميع "معالجات الرسائل"
التأكّد من ضبط عنوان "تجاهُل السماح" للسمة 405 على `false` في "معالجات الرسائل"
يوضِّح هذا القسم كيفية التأكّد من أنّه تم تعديل السمة
HTTP.ignore.allow_header.for.405 بنجاح إلى false
في "معالجات الرسائل".
على الرغم من أنّك تستخدم الرمز المميّز
conf_http_HTTP.ignore.allow_header.for.405 لتعديل القيمة في "معالج الرسائل"
، عليك التأكّد مما إذا تم ضبط السمة الفعلية HTTP.ignore.allow_header.for.405
على false.
- على جهاز "معالج الرسائل"، ابحث عن السمة
HTTP.ignore.allow_header.for.405في الدليل/opt/apigee/edge-message- processor/confوتأكَّد مما إذا تم ضبطها علىfalseكما هو موضّح أدناه:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- إذا تم تعديل السمة بنجاح في "معالج الرسائل"، من المفترض أن يعرض الأمر أعلاه
قيمة السمة
HTTP.ignore.allow_header.for.405على أنّهاfalseفي الملفhttp.propertiesكما هو موضّح أدناه:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- إذا كنت لا تزال ترى قيمة السمة
HTTP.ignore.allow_header.for.405على أنّهاtrue، تأكَّد من أنّك اتّبعت جميع الخطوات الموضّحة في ضبط عنوان "تجاهُل السماح" للسمة 405 على `false` في "معالجات الرسائل" بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح. - إذا كنت لا تزال غير قادر على تعديل السمة
HTTP.ignore.allow_header.for.405، يُرجى التواصل مع فريق دعم Apigee Edge.