أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
في اتصال العميل بالخادم، يستجيب الخادم مرة أخرى برمز حالة 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: الطريقة غير مسموح بها.
يجب إرسال عنوان 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 الطريقة غير مسموح بها أو يمكنك استخدام معالجة الأخطاء من أجل
للرد باستخدام رمز حالة HTTP 405 Method Not Allowed، بما في ذلك
عنوان Allow كما هو موضّح في الدليل الإرشادي لتحديد المشاكل وحلّها
502 مدخل غير صالح: الاستجابة 405 بدون العنوان "السماح"
ولكن في بعض الحالات الاستثنائية، قد لا يكون من الممكن إصلاح الخلفية أو تعديل خادم وكيل واجهة برمجة التطبيقات لمعالجة هذه المشكلة على الفور.
في هذه الحالات، يمكنك ضبط عنوان السماح بالتجاهل للسمة 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 مدخل غير صالح: الاستجابة 405 بدون العنوان "السماح".
- إذا لم تكن على دراية بكيفية إعداد خصائص Edge على Private Cloud، يُرجى قراءة كيفية إعداد Edge
تهيئة رأس السماح بالتجاهل لخاصية 405 على "صحيح" في معالِجات معالجة الرسائل
في 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 على "صحيح" في معالِجات بيانات الرسائل
يوضّح هذا القسم كيفية إثبات ملكية الموقع.
تم تعديل 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 على "صواب" في معالِجات الرسائل بشكل صحيح إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى. بشكل صحيح. - إذا كنت لا تزال غير قادر على تعديل الموقع
HTTP.ignore.allow_header.for.405، ثم تواصَل مع فريق دعم Apigee Edge.
تهيئة رأس السماح بالتجاهل لخاصية 405 على "خطأ" في معالِجات معالجة الرسائل
يوضِّح هذا القسم كيفية ضبط الموقع.
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 على "خطأ" في معالِجات بيانات الرسائل
يوضّح هذا القسم كيفية إثبات ملكية الموقع.
تم تعديل 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 على "خطأ" في معالِجات الرسائل بشكل صحيح. إذا فاتتك أي خطوة، فكرر جميع الخطوات مرة أخرى بشكل صحيح. - إذا كنت لا تزال غير قادر على تعديل الموقع
HTTP.ignore.allow_header.for.405، ثم تواصَل مع فريق دعم Apigee Edge.