Mesaj İşleyicilerde 405 mülkü için yoksayma izni başlığını yapılandırma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

İstemci-sunucu iletişimde, istemci tarafından sunulan HTTP istek yöntemi sunucu tarafından biliniyorsa ancak hedef kaynak tarafından desteklenmiyorsa sunucu 405 Method Not Allowed HTTP durum koduyla yanıt verir. Benzer şekilde Apigee Edge'de arka uç sunucusu 405 Method Not Allowed. HTTP durum koduyla yanıt verebilir.

Apigee Edge, arka uç sunucusunun RFC 7231, bölüm 6.5.5: 405 Method Not Allowed (Yönteme İzin Verilmiyor) uyarınca Allow üstbilgisinde izin verilen yöntemler listesiyle 405 Method Not Allowed yanıtları göndermesini bekler.

Allow üstbilgisi şu biçimde gönderilmelidir:

Allow: HTTP_METHODS

Örneğin, arka uç sunucunuz GET, POST ve HEAD yöntemlerine izin veriyorsa Allow üst bilgisinin bunları aşağıdaki şekilde içerdiğinden emin olmanız gerekir:

Allow: GET, POST, HEAD

Arka uç sunucusu Allow üst bilgisini 405 Method Not Allowed, HTTP durum koduyla göndermezse Apigee, istemci uygulamasına protocol.http.Response405WithoutAllowHeader hata koduna sahip 502 Bad Gateway HTTP durum kodunu döndürür. Bu hatayı gidermek için önerilen çözüm, arka uç sunucusunu RFC 7231, bölüm 6.5.5: 405 Yönteme İzin Verilmiyor ya da sorun giderme başucu kitabında açıklandığı şekilde Allow üst bilgisini dahil ederek HTTP durum kodu ile yanıt vermek üzere hata işlemeyi kullanmaktır Hatalı Ağ Geçidi 405 - Yanıt başlığı olmadan.405 Method Not Allowed

Ancak bazı istisnai durumlarda arka ucunuzu düzeltmek veya API Proxy'nizi bu sorunu hemen giderecek şekilde değiştirmek mümkün olmayabilir.

Bu gibi durumlarda, 405 özelliği HTTP.ignore.allow_header.for.405 için "yoksayılan izin verme üst bilgisini geçici olarak Mesaj İşleyici düzeyinde ayarlayabilirsiniz. Bu özelliğin true olarak ayarlanması, arka uç sunucusu Allow başlığı olmadan 405 Method Not Allowed HTTP durum kodunu gönderse bile Apigee'nin istemci uygulamalarına 502 Bad Gateway yanıtını döndürmesini engeller.

Arka uç sunucunuzu Allow üst bilgisine sahip 405 Method Not Allowed HTTP durum kodunu gönderecek şekilde düzelttikten sonra HTTP.ignore.allow_header.for.405 özelliğini varsayılan false değerine döndürebilirsiniz.

Başlamadan önce

Bu belgedeki adımları kullanmadan önce aşağıdaki konuları anladığınızdan emin olun:

İleti İşleyicilerinde 405 özelliği için yoksaymaya izin verme başlığını doğru olarak yapılandırma

Apigee Edge'de HTTP.ignore.allow_header.for.405 özelliği varsayılan olarak false değerine ayarlanmıştır. Bu, arka uç sunucusu 405 Method Not Allowed HTTP durum kodunu Allow başlığı olmadan gönderirse Apigee Edge'in 502 Bad Gateway hata kodunu protocol.http.Response405WithoutAllowHeader hata koduyla istemci uygulamalarına döndürmesini sağlar. Apigee Edge'in istemci uygulamalarına 502 Bad Gateway göndermesini önlemek istiyorsanız Mesaj İşleyicilerinde HTTP.ignore.allow_header.for.405 özelliğinin değerini true olarak ayarlamanız gerekir.

Bu bölümde, Edge'yi yapılandırma bölümünde açıklanan söz dizimine göre jetonu kullanarak mesaj İşleyicilerinde HTTP.ignore.allow_header.for.405 mülkünün true olarak nasıl yapılandırılacağı açıklanmaktadır.

  1. Message Processor makinesinde, aşağıdaki dosyayı bir düzenleyicide açın. Henüz yoksa oluşturun.

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

    Örneğin, dosyayı vi kullanarak açmak için aşağıdakileri girin:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Özellikler dosyasına aşağıdaki biçimde bir satır ekleyin:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  3. Değişikliklerinizi kaydedin.
  4. Özellikler dosyasının aşağıda gösterildiği gibi apigee kullanıcısına ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mesaj İşleyici'yi aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Birden fazla Mesaj İşleyiciniz varsa tüm Mesaj İşleyiciler için yukarıdaki adımları tekrarlayın.

405 özelliği için yoksaymaya izin verme üstbilgisinin doğrulanması, İleti İşleyicilerde doğru olarak ayarlandı

Bu bölümde, HTTP.ignore.allow_header.for.405 özelliğinin Mesaj İşleyicilerinde true olarak başarıyla güncellendiğinin nasıl doğrulanacağı açıklanmaktadır.

İleti İşleyici'de mülkün değerini güncellemek için conf_http_HTTP.ignore.allow_header.for.405 jetonunu kullansanız bile, HTTP.ignore.allow_header.for.405 gerçek özelliğinin true olarak ayarlanıp ayarlanmadığını doğrulamanız gerekir.

  1. Mesaj İşleyici makinesinde, /opt/apigee/edge-message-processor/conf dizininde HTTP.ignore.allow_header.for.405 özelliğini arayın ve aşağıda gösterildiği gibi true olarak ayarlanıp ayarlanmadığını kontrol edin:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Özellik, Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut, HTTP.ignore.allow_header.for.405 özelliğinin değerini http.properties dosyasında aşağıda gösterildiği gibi true olarak gösterir:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. HTTP.ignore.allow_header.for.405 özelliğinin değerini false olarak görmeye devam ediyorsanız Mesaj İşleyicilerde 405 özelliği için "Yoksayma izni başlığını doğru şekilde yapılandırma" bölümünde açıklanan tüm adımları doğru şekilde uyguladığınızdan emin olun. Herhangi bir adımı atladıysanız tüm adımları doğru bir şekilde tekrar edin.
  4. HTTP.ignore.allow_header.for.405 özelliğini hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.

İleti İşleyicilerinde 405 özelliği için yoksaymaya izin verme başlığını false (yanlış) olarak yapılandırma

Bu bölümde, jetonu Edge'yi yapılandırma bölümünde açıklanan söz dizimine uygun şekilde kullanarak Mesaj İşleyici'de HTTP.ignore.allow_header.for.405 özelliğini varsayılan değere false nasıl yapılandıracağınız açıklanmaktadır.

  1. HTTP.ignore.allow_header.for.405 mülkünün true olarak değiştirilip değiştirilmediğini doğrulayın. Bu işlemi, /opt/apigee/edge-message-processor/conf dizininde bu özelliği arayarak ve aşağıdaki komutla değerini kontrol ederek yapabilirsiniz:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Özellik, Mesaj İşleyici'de true olarak ayarlandıysa yukarıdaki komut, http.properties dosyasında HTTP.ignore.allow_header.for.405 özelliğinin değerini aşağıda gösterildiği gibi true olarak göstermelidir:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. Yukarıdaki komut HTTP.ignore.allow_header.for.405 özelliğinin false (varsayılan değer) değerine ayarlandığını gösterirse başka bir işlem yapmanız gerekmez. Bu yüzden aşağıdaki adımları atlayın.
  4. HTTP.ignore.allow_header.for.405 özelliği true değerine ayarlanırsa false varsayılan değerine geri dönmek için aşağıdaki adımları uygulayın.
  5. İleti İşlemci makinesinde aşağıdaki dosyayı bir düzenleyicide açın:

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

    Örneğin, dosyayı vi kullanarak açmak için aşağıdakileri girin:

    vi /opt/apigee/customer/application/message-processor.properties
    
  6. Şu satırı özellikler dosyasından kaldırın:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  7. Değişikliklerinizi kaydedin.
  8. Özellikler dosyasının aşağıda gösterildiği gibi apigee kullanıcısına ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  9. Mesaj İşleyici'yi aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  10. Birden fazla Mesaj İşleyiciniz varsa tüm Mesaj İşleyiciler için yukarıdaki adımları tekrarlayın.

405 özelliği için yoksaymaya izin verme üstbilgisinin, İleti İşleyicilerde "false" (yanlış) olarak ayarlandığını doğrulama

Bu bölümde, HTTP.ignore.allow_header.for.405 özelliğinin Mesaj İşleyicilerinde false olarak başarıyla güncellendiğinin nasıl doğrulanacağı açıklanmaktadır.

Mesaj İşleyici'deki değeri güncellemek için conf_http_HTTP.ignore.allow_header.for.405 jetonunu kullansanız bile HTTP.ignore.allow_header.for.405 gerçek özelliğinin false olarak ayarlanıp ayarlanmadığını doğrulamanız gerekir.

  1. Mesaj İşleyici makinesinde, /opt/apigee/edge-message- processor/conf dizininde HTTP.ignore.allow_header.for.405 özelliğini arayın ve aşağıda gösterildiği gibi false olarak ayarlanıp ayarlanmadığını kontrol edin:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Özellik, Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut, HTTP.ignore.allow_header.for.405 özelliğinin değerini http.properties dosyasında aşağıda gösterildiği gibi false olarak gösterir:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
    
  3. HTTP.ignore.allow_header.for.405 özelliğinin değerini true olarak görmeye devam ediyorsanız 405 özelliği için yoksayma başlığını Mesaj İşleyicilerinde false olarak yapılandırma başlıklı makalede açıklanan tüm adımları doğru şekilde uyguladığınızdan emin olun. Herhangi bir adımı atladıysanız tüm adımları doğru bir şekilde tekrar edin.
  4. HTTP.ignore.allow_header.for.405 özelliğini hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.