ضبط عنوان التجاهل المسموح به للسمة 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 الطريقة غير مسموح بها أو يمكنك استخدام معالجة الأخطاء من أجل للرد باستخدام رمز حالة 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.

قبل البدء

قبل استخدام الخطوات الواردة في هذا المستند، احرص على فهم المواضيع التالية:

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