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:
- Başucu Kitabı'nı okuyun: 502 Hatalı Ağ Geçidi - yanıt 405, izin başlığı olmadan.
- Private Cloud'da Edge özelliklerini yapılandırmaya aşina değilseniz Edge'yi yapılandırma bölümünü okuyun.
İ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.
-
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
- Özellikler dosyasına aşağıdaki biçimde bir satır ekleyin:
conf_http_HTTP.ignore.allow_header.for.405=true
- Değişikliklerinizi kaydedin.
- Ö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
- 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
- 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.
- Mesaj İşleyici makinesinde,
/opt/apigee/edge-message-processor/conf
dizinindeHTTP.ignore.allow_header.for.405
özelliğini arayın ve aşağıda gösterildiği gibitrue
olarak ayarlanıp ayarlanmadığını kontrol edin:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Özellik, Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut,
HTTP.ignore.allow_header.for.405
özelliğinin değerinihttp.properties
dosyasında aşağıda gösterildiği gibitrue
olarak gösterir:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
HTTP.ignore.allow_header.for.405
özelliğinin değerinifalse
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.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.
HTTP.ignore.allow_header.for.405
mülkününtrue
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
- Özellik, Mesaj İşleyici'de
true
olarak ayarlandıysa yukarıdaki komut,http.properties
dosyasındaHTTP.ignore.allow_header.for.405
özelliğinin değerini aşağıda gösterildiği gibitrue
olarak göstermelidir:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Yukarıdaki komut
HTTP.ignore.allow_header.for.405
özelliğininfalse
(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. HTTP.ignore.allow_header.for.405
özelliğitrue
değerine ayarlanırsafalse
varsayılan değerine geri dönmek için aşağıdaki adımları uygulayın.İ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
- Şu satırı özellikler dosyasından kaldırın:
conf_http_HTTP.ignore.allow_header.for.405=true
- Değişikliklerinizi kaydedin.
- Ö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
- 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
- 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.
- Mesaj İşleyici makinesinde,
/opt/apigee/edge-message- processor/conf
dizinindeHTTP.ignore.allow_header.for.405
özelliğini arayın ve aşağıda gösterildiği gibifalse
olarak ayarlanıp ayarlanmadığını kontrol edin:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Özellik, Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut,
HTTP.ignore.allow_header.for.405
özelliğinin değerinihttp.properties
dosyasında aşağıda gösterildiği gibifalse
olarak gösterir:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
HTTP.ignore.allow_header.for.405
özelliğinin değerinitrue
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.HTTP.ignore.allow_header.for.405
özelliğini hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.