Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
İstemci-sunucu iletişiminde, 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 405 Method Not Allowed yanıtlarını göndermesini bekler.
Allow başlığında, spesifikasyona göre izin verilen yöntemlerin listesiyle birlikte
RFC 7231, bölüm 6.5.5: 405 Method Not Allowed.
Allow başlığı aşağıdaki biçimde gönderilmelidir:
Allow: HTTP_METHODS
Örneğin, arka uç sunucunuz GET, POST ve HEAD yöntemlerine izin veriyorsa Allow başlığının bunları aşağıdaki gibi içerdiğinden emin olmanız gerekir:
Allow: GET, POST, HEAD
Arka uç sunucusu, Allow üstbilgisini HTTP durum kodu 405 Method Not Allowed, ile birlikte göndermezse Apigee, istemci uygulamasına hata kodu protocol.http.Response405WithoutAllowHeader ile birlikte HTTP durum kodu 502 Bad
Gateway'yi döndürür. Bu hatayı gidermek için önerilen çözüm, arka uç sunucusunu
RFC 7231, bölüm 6.5.5: 405 Method Not Allowed spesifikasyonuna uyacak şekilde düzeltmek veya hata yönetimi kullanarak sorun giderme oyun kitabında
502 Bad Gateway - Response 405 without Allow header bölümünde açıklandığı gibi Allow üstbilgisini içeren 405 Method Not Allowed HTTP durum koduyla yanıt vermektir.
Ancak bazı istisnai durumlarda, arka uçunuzu düzeltmek veya API proxy'nizi bu sorunu hemen giderecek şekilde değiştirmek mümkün olmayabilir.
Bu gibi durumlarda, 405 özelliği için izin verilen üstbilgiyi yoksayma ayarını HTTP.ignore.allow_header.for.405 Mesaj İşleyici düzeyinde geçici olarak ayarlayabilirsiniz. Bu özelliği true olarak ayarlamak, 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 üstbilgisiyle birlikte 405 Method
Not Allowed HTTP durum kodu gönderecek şekilde düzeltebildiğinizde HTTP.ignore.allow_header.for.405 özelliğini varsayılan değeri false'e geri 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 Bad Gateway - response 405 without Allow header.
- Özel bulutta Edge için özellikleri yapılandırma konusunda bilginiz yoksa Edge'i yapılandırma başlıklı makaleyi inceleyin.
İleti işlemcilerinde 405 özelliği için "ignore allow header" seçeneğini true olarak yapılandırma
Apigee Edge'de HTTP.ignore.allow_header.for.405 özelliği varsayılan olarak false olarak ayarlanır. Bu, arka uç sunucusu Allow üstbilgisi olmadan 405 Method Not
Allowed HTTP durum kodunu gönderirse Apigee Edge'in istemci uygulamalarına 502 Bad
Gateway ile protocol.http.Response405WithoutAllowHeader hata kodunu döndürmesini sağlar. Apigee Edge'in istemci uygulamalarına 502 Bad Gateway göndermesini engellemek istiyorsanız HTTP.ignore.allow_header.for.405 özelliğinin değerini Mesaj İşlemciler'de true olarak ayarlamanız gerekir.
Bu bölümde,
Edge'i yapılandırma bölümünde açıklanan söz dizimine uygun şekilde jetonu kullanarak, Mesaj İşleyiciler'de HTTP.ignore.allow_header.for.405 özelliğini true olarak nasıl yapılandıracağınız açıklanmaktadır.
-
Mesaj İşleyici makinesinde aşağıdaki dosyayı bir düzenleyicide açın. Bu klasör 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
apigeekullanı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 yukarıdaki adımları tüm Mesaj İşleyicilerde tekrarlayın.
405 özelliği için izin verilen üstbilgiyi yoksayma özelliğinin, ileti işlemcilerinde doğru olarak ayarlandığını doğrulama
Bu bölümde, mülkün HTTP.ignore.allow_header.for.405 Mesaj İşleyiciler'de true sürümüne başarıyla güncellendiğinin nasıl doğrulanacağı açıklanmaktadır.
İleti işlemcisindeki özelliğin değerini güncellemek için conf_http_HTTP.ignore.allow_header.for.405 jetonunu kullanıyor olsanız bile gerçek özelliğin HTTP.ignore.allow_header.for.405 true olarak ayarlanıp ayarlanmadığını doğrulamanız gerekir.
- Mesaj İşleyici makinesinde,
HTTP.ignore.allow_header.for.405özelliğini/opt/apigee/edge-message-processor/confdizininde arayın ve aşağıda gösterildiği gibitrueolarak ayarlanıp ayarlanmadığını kontrol edin:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Mülk, Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut, mülkün
HTTP.ignore.allow_header.for.405değerini aşağıdaki gibihttp.propertiesdosyasındatrueolarak gösterir:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- Mülk için
HTTP.ignore.allow_header.for.405değeri hâlâfalseolarak görünüyorsa İleti İşlemcilerinde 405 mülkü için izin verilmeyen başlığı doğru olarak yapılandırma başlıklı makalede belirtilen tüm adımları uyguladığınızı doğrulayın. Herhangi bir adımı atladıysanız tüm adımları tekrar doğru şekilde uygulayın. - Mülkü hâlâ değiştiremiyorsanız
HTTP.ignore.allow_header.for.405Apigee Edge Destek Ekibi ile iletişime geçin.
İleti işlemcilerinde 405 özelliği için "üstbilgiye izin ver" ayarını false olarak yapılandırma
Bu bölümde, Edge'i yapılandırma bölümünde açıklanan söz dizimine göre jeton kullanılarak, Mesaj İşleyici'de HTTP.ignore.allow_header.for.405 özelliğinin varsayılan değerine false
nasıl ayarlanacağı açıklanmaktadır.
HTTP.ignore.allow_header.for.405özelliğinintrueolarak değiştirilip değiştirilmediğini doğrulayın. Bu işlemi,/opt/apigee/edge-message-processor/confdizininde bu özelliği arayıp aşağıdaki komutu kullanarak değerini kontrol ederek yapabilirsiniz:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Mülk, Mesaj İşleyici'de
trueolarak ayarlanmışsa yukarıdaki komut,http.propertiesdosyasında mülkünHTTP.ignore.allow_header.for.405değerini aşağıdaki gibitrueolarak 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) olarak ayarlandığını gösteriyorsa başka bir işlem yapmanız gerekmez. Bu durumda aşağıdaki adımları atlayabilirsiniz. HTTP.ignore.allow_header.for.405özelliğitrueolarak ayarlanmışsa varsayılan değerifalse'ye geri dönmek için aşağıdaki adımları uygulayın.Mesaj İşleyici 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
- Özellikler dosyasından aşağıdaki satırı 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
apigeekullanı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 yukarıdaki adımları tüm Mesaj İşleyicilerde tekrarlayın.
405 özelliği için "izin verilen üstbilgiyi yoksay" ayarının ileti işlemcilerinde yanlış olarak ayarlandığını doğrulama
Bu bölümde, mülkün HTTP.ignore.allow_header.for.405 Mesaj İşleyiciler'de false sürümüne başarıyla güncellendiğinin nasıl doğrulanacağı açıklanmaktadır.
İleti işlemcisindeki değeri güncellemek için conf_http_HTTP.ignore.allow_header.for.405 jetonunu kullanıyor olsanız bile gerçek mülkün HTTP.ignore.allow_header.for.405 false olarak ayarlanıp ayarlanmadığını doğrulamanız gerekir.
- Mesaj İşleyici makinesinde,
/opt/apigee/edge-message- processor/confdizinindeHTTP.ignore.allow_header.for.405özelliğini arayın ve aşağıda gösterildiği gibifalseolarak ayarlanıp ayarlanmadığını kontrol edin:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- Mülk, Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut, mülkün
HTTP.ignore.allow_header.for.405değerini aşağıdaki gibihttp.propertiesdosyasındafalseolarak gösterir:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- Mülk için
HTTP.ignore.allow_header.for.405değeri hâlâtrueolarak görünüyorsa İleti İşlemcilerinde 405 mülkü için "izin ver" üstbilgisini yoksayma özelliğini yanlış olarak yapılandırma bölümünde belirtilen tüm adımları doğru şekilde uyguladığınızı doğrulayın. Herhangi bir adımı atladıysanız tüm adımları tekrar doğru şekilde uygulayın. - Mülkü hâlâ değiştiremiyorsanız
HTTP.ignore.allow_header.for.405Apigee Edge Destek Ekibi ile iletişime geçin.