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

أنت الآن بصدد الاطّلاع على مستندات 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.

قبل البدء

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

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

  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 على `true` في "معالجات الرسائل"

يوضِّح هذا القسم كيفية التأكّد من أنّه تم تعديل السمة 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 على `true` في "معالجات الرسائل" بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح.
  4. إذا كنت لا تزال غير قادر على تعديل السمة HTTP.ignore.allow_header.for.405، يُرجى التواصل مع فريق دعم Apigee Edge.

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

يوضِّح هذا القسم كيفية ضبط السمة 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 على `false` في "معالجات الرسائل"

يوضِّح هذا القسم كيفية التأكّد من أنّه تم تعديل السمة 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 على `false` في "معالجات الرسائل" بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح.
  4. إذا كنت لا تزال غير قادر على تعديل السمة HTTP.ignore.allow_header.for.405، يُرجى التواصل مع فريق دعم Apigee Edge.