ضبط عنوان التجاهل المسموح به للسمة 405 في معالجات الرسائل

يتم الآن عرض مستندات 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 Method Not Allowed أو استخدام معالجة الأخطاء للرد على رمز حالة HTTP 405 Method Not Allowed بما في ذلك العنوان Allow كما هو موضّح في الدليل الإرشادي لتحديد المشاكل وحلّها السماح بالمدخل Bad05 - Response 4

ومع ذلك، قد لا يكون بإمكانك في بعض الحالات الاستثنائية إصلاح الخلفية أو تعديل الخادم الوكيل لواجهة برمجة التطبيقات لمعالجة هذه المشكلة على الفور.

في هذه الحالات، يمكنك ضبط العنوان "السماح بالتجاهل" للسمة 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.

قبل البدء

قبل استخدام الخطوات الواردة في هذا المستند، تأكَّد من فهم المواضيع التالية:

تسمح تهيئة رأس التجاهل لخاصية 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.

  1. على الجهاز الذي يعمل به معالج الرسائل، افتح الملف التالي في أحد المحرِّرين. إذا لم يكن متوفّرًا حاليًا، يجب إنشاؤه.

    /opt/apigee/customer/application/message-processor.properties
    

    على سبيل المثال، لفتح الملف باستخدام vi، أدخِل ما يلي:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. أضِف سطرًا بالتنسيق التالي إلى ملف السمات:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  3. احفظ التغييرات.
  4. تأكَّد من أنّ ملف السمات يملكه مستخدم apigee كما هو موضّح أدناه:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. أعِد تشغيل معالج الرسائل كما هو موضَّح أدناه:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. إذا كان لديك أكثر من معالج رسائل واحد، كرِّر الخطوات السابقة في كل معالِجات الرسائل.

تم ضبط التحقق من رأس السماح بالتجاهل للموقع 405 على "صحيح" في معالجات الرسائل

يوضّح هذا القسم كيفية التحقق من أنّه تم بنجاح تعديل الموقع HTTP.ignore.allow_header.for.405 إلى true في معالجات الرسائل.

على الرغم من استخدام الرمز المميّز conf_http_HTTP.ignore.allow_header.for.405 لتعديل قيمة السمة في معالج الرسائل، عليك التأكّد مما إذا تم ضبط السمة HTTP.ignore.allow_header.for.405 الفعلية على true.

  1. في جهاز معالجة الرسائل، ابحث عن السمة 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
    
  2. إذا تم تعديل السمة في "معالج الرسائل" بنجاح، من المفترض أن يعرض الأمر أعلاه قيمة السمة HTTP.ignore.allow_header.for.405 على شكل true في ملف http.properties كما هو موضّح أدناه:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. إذا كانت قيمة السمة HTTP.ignore.allow_header.for.405 لا تزال ظاهرة على أنّها false، تأكَّد من أنّك اتّبعت جميع الخطوات الموضّحة في ضبط عنوان التجاهل للسماح بالسمة 405 على "صحيح" في معالِجات الرسائل. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرّة أخرى بشكل صحيح.
  4. إذا كنت لا تزال غير قادر على تعديل السمة HTTP.ignore.allow_header.for.405، يُرجى التواصل مع فريق دعم Apigee Edge.

إن تهيئة رأس التجاهل مسموح به للسمة 405 إلى "خطأ" في معالجات الرسائل

يوضِّح هذا القسم كيفية ضبط السمة HTTP.ignore.allow_header.for.405 على قيمتها التلقائية false على "معالج الرسائل"، وذلك باستخدام الرمز المميّز وفقًا للبنية الموضحة في كيفية إعداد Edge.

  1. تحقَّق مما إذا تم تعديل السمة 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
    
  2. إذا تم ضبط السمة على 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
    
  3. إذا كان الأمر الوارد أعلاه يوضّح أنّه تم ضبط السمة HTTP.ignore.allow_header.for.405 على false (القيمة التلقائية)، لن يكون عليك اتخاذ أي إجراء آخر. ويعني ذلك تخطّي الخطوات التالية.
  4. إذا تم ضبط السمة HTTP.ignore.allow_header.for.405 على true، نفِّذ الخطوات التالية للعودة إلى قيمتها التلقائية false.
  5. على الجهاز الذي يعمل به معالج الرسائل، افتح الملف التالي في أحد المحرِّرات:

    /opt/apigee/customer/application/message-processor.properties
    

    على سبيل المثال، لفتح الملف باستخدام vi، أدخِل ما يلي:

    vi /opt/apigee/customer/application/message-processor.properties
    
  6. أزِل السطر التالي من ملف المواقع الإلكترونية:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  7. احفظ التغييرات.
  8. تأكَّد من أنّ ملف السمات يملكه مستخدم apigee كما هو موضّح أدناه:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  9. أعِد تشغيل معالج الرسائل كما هو موضَّح أدناه:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  10. إذا كان لديك أكثر من معالج رسائل واحد، كرِّر الخطوات السابقة في كل معالِجات الرسائل.

تم ضبط التحقق من رأس السماح بالتجاهل للموقع 405 على "خطأ" في معالجات الرسائل

يوضّح هذا القسم كيفية التحقق من أنّه تم بنجاح تعديل الموقع HTTP.ignore.allow_header.for.405 إلى false في معالجات الرسائل.

على الرغم من استخدام الرمز المميّز conf_http_HTTP.ignore.allow_header.for.405 لتعديل القيمة في معالج الرسائل، عليك التأكّد مما إذا تم ضبط السمة الفعلية HTTP.ignore.allow_header.for.405 على false.

  1. في جهاز معالجة الرسائل، ابحث عن السمة 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
    
  2. إذا تم تعديل السمة في "معالج الرسائل" بنجاح، من المفترض أن يعرض الأمر أعلاه قيمة السمة HTTP.ignore.allow_header.for.405 على شكل false في ملف http.properties كما هو موضّح أدناه:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
    
  3. إذا كانت قيمة الخاصية HTTP.ignore.allow_header.for.405 لا تزال تظهر على أنّها true، تأكَّد من أنّك اتّبعت جميع الخطوات الموضّحة في ضبط عنوان التجاهل لخاصية 405 على "خطأ" في معالجات الرسائل بشكل صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح.
  4. إذا كنت لا تزال غير قادر على تعديل السمة HTTP.ignore.allow_header.for.405، يُرجى التواصل مع فريق دعم Apigee Edge.