API istekleri Apigee Edge üzerinden yapıldığında Apigee Edge bileşenleri Yönlendiriciler ve Mesaj İşleyiciler ya da arka uç sunucular istemci uygulamalarına hata döndürebilir.
Mesaj işleyiciden gelen hatalar
İleti İşleyen, Apigee Edge'in politikaları işleyen ve arka uç sunucularla etkileşime geçen temel bileşenidir. Aşağıdaki gibi sorunlar tespit ederse hata döndürebilir:
Ağ bağlantısı sorunları, TLS el sıkışma hataları, arka uç sunucusunun kullanılamaması, arka uç sunucusuyla iletişim sırasında yanıt verilmemesi
Politikanın uygulanması sırasındaki hatalar
Geçersiz HTTP üst bilgileri, kodlama, yol, HTTP spesifikasyonlarına uyulmaması, ürün sınırlarının aşılması vb.:
İstemci uygulamaları tarafından gönderilen HTTP isteğiyle
VEYA
Arka uç sunucusu tarafından gönderilen HTTP yanıtıyla
Ve daha fazlası
Mesaj işleyiciden örnek hata
Mesaj İşleyen her zaman bir HTTP durum kodu, ardından JSON biçiminde bir hata kodu ve hata mesajı döndürür.
İstemci uygulaması aşağıdaki örnekteki gibi bir yanıt kodu alır:
HTTP/1.1 414 Request-URI Too Long
İleti İşleyici'den gelen bir hata yanıtı aşağıdaki biçimde görünür:
Hatanın olası nedenini açıklayan hata mesajını içerir
errorcode
Hatayla ilişkili hata kodu (arıza kodu olarak da bilinir)
Çalışma zamanı hatası kataloğu
Bu hata kataloğunda, Apigee Edge Mesaj İşlemci bileşeni tarafından döndürülen çalışma zamanı hata kodları (politika dışı hatalar için) hakkında bilmeniz gereken tüm bilgiler yer alır. Her bir hata kodu için aşağıdaki bilgileri içerir:
HTTP durum kodu
Hata mesajı
Hatanın olası nedenleri
İlişkili tüm HTTP spesifikasyonları ve/veya ürün sınırları
Hatanın nedenini teşhis etme talimatları ve hatayı kendiniz çözmek için uygulayabileceğiniz etkili çözümler (varsa) içeren rehberler ve videolar
Hatayı kendiniz çözmek için uygulayabileceğiniz düzeltme
Belirli bir hata koduyla ilgili yukarıdaki bilgileri görüntülemek için tabloyu filtrelemek üzere aşağıdaki Arama kutusunu kullanın. Tablodaki herhangi bir alanda durum kodunu veya herhangi bir içeriği arayabilirsiniz.
searchArama Ağı
Hata kodu
Açıklama
Düzelt
flow.*
flow.APITimedOut
HTTP durum kodu:
504 Gateway Timeout
Hata mesajı:
API timed out
Olası neden:
Bu hata aşağıdaki durumlarda oluşur:
Arka uç sunucu, belirli bir API Proxy için mülk tarafından yapılandırılan zaman aşımı süresi içinde yanıt vermez.
api.timeout
Yoğun işlem gerektiren işlemler, yüksek yük veya düşük performans nedeniyle politikanın uygulanması uzun sürüyor.
Not: Bu başucu kitabı, messaging.adaptors.http.flow.GatewayTimeout hata kodunun sorunlarını gidermeyle ilgili talimatlar sağlar. Ancak flow.APITimedOut hata kodunun sorunlarını gidermek için de aynı başucu kitabını kullanabilirsiniz.
Arka uç/hedef sunucu tarafından HTTP yanıtının bir parçası olarak gönderilen yığın biçimi, Content-Encoding üstbilgisinde belirtilen kodlama biçimiyle eşleşmiyor
Hata mesajı ve biçimi, arka uç sunucu uygulamasına bağlı olarak değişebilir.
Olası neden:
Bu hata, arka uç sunucusu Apigee Edge'e 504 durum koduyla yanıt verirse meydana gelir.
Not: İstemci uygulamalarına gönderilen hata mesajının bir parçası olarak messaging.adaptors.http.flow.ErrorResponseCode hata kodu döndürülmez. Bunun nedeni, arka uç sunucusu bir hatayla veya 4XX ya da 5XX durum kodlarından herhangi biriyle yanıt verdiğinde bu hata kodunun Apigee Edge tarafından ayarlanmasıdır. Bu hata kodunu API İzleme, NGINX erişim günlüklerinde veya analiz veritabanında görüntüleyebilirsiniz.
messaging.adaptors.http.flow.GatewayTimeout
HTTP durum kodu:
504 Gateway Timeout
Hata mesajı:
Gateway Timeout
Olası neden:
Bu hata, arka uç sunucusu, İleti İşleyicide yapılandırılmış
G/Ç zaman aşımı süresi içinde Apigee Edge İleti İşleyici'ye yanıt vermezse oluşur.
Bu hata, Content-Length üstbilgisi, istemci uygulaması tarafından Apigee Edge'e gönderilen HTTP POST ve PUT isteklerinin bir parçası olarak iletilmezse ortaya çıkar.
Not: Mesaj İşleyici bu doğrulamayı isteği işlemeden ve API Proxy'de herhangi bir politikayı yürütmeden çok önce, çok erken bir aşamada gerçekleştirdiği için bu hatayla başarısız olan istekler, izleme aracında yakalanamaz.
Bu hatayı gidermek için aşağıdaki adımları uygulayın:
İstemci uygulamasının, Apigee Edge'e gönderilen HTTP POST ve PUT isteklerinin bir parçası olarak her zaman Content-Length başlığını ilettiğinden emin olun. Örneğin:
curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
POST ve PUT istekleriyle boş bir yük iletiyor olsanız bile Content-Length: 0 başlığının iletildiğinden emin olun. Örneğin:
curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
messaging.adaptors.http.flow.NoActiveTargets
HTTP durum kodu:
503 Service Unavailable
Hata mesajı:
The Service is temporarily unavailable
Olası neden:
Apigee Edge'de
TargetServer kullanıyorsanız bu hata aşağıdaki senaryolardan birinde ortaya çıkar:
Özel yetkilendirme sunucusu tarafından arka uç sunucu ana makinesinin yanlış DNS çözümlemesi, bağlantı hatalarına yol açan kötü IP adreslerine neden oldu.
Aşağıdaki nedenlerle bağlantı zaman aşımı hataları var:
Arka uç sunucusundaki güvenlik duvarı kısıtlaması, Apigee Edge'in arka uç sunucusuna bağlanmasını engelliyor.
Apigee Edge ile arka uç sunucu arasında ağ bağlantısı sorunları
TargetServer'da belirtilen ana makine yanlıştır veya istenmeyen karakterler (ör. boşluk) içerir.
Bu hata, Apigee Edge Mesaj İşleyicisi Mesaj İşleyici bileşeninde yapılandırılan
G/Ç zaman aşımı süresi boyunca istemci uygulamadan istek yükü almazsa ortaya çıkar.
Düzelt
İstemci uygulamasının, istek yükünü Apigee Edge'in Mesaj İşleyici bileşeninde yapılandırılan
G/Ç zaman aşımı süresi içinde gönderdiğinden emin olun.
messaging.adaptors.http.flow.ServiceUnavailable
HTTP durum kodu:
503 Service Unavailable
Hata mesajı:
The Service is temporarily unavailable
Olası neden:
Bu hata aşağıdaki senaryolardan birinde ortaya çıkar:
Özel yetkilendirme sunucusunun arka uç sunucu ana makinesini yanlış DNS çözümlemesi, hatalı IP adreslerine yol açarak bağlantı hatalarına neden oldu.
Aşağıdakiler nedeniyle bağlantı zaman aşımı hataları:
Arka uç sunucusunda güvenlik duvarı kısıtlaması, Apigee Edge'in arka uç sunucusuna bağlanmasını engeller.
Apigee Edge ile arka uç sunucu arasında ağ bağlantısı sorunları.
Hedef uç noktada belirtilen hedef sunucu ana makinesi yanlıştır veya istenmeyen karakterler (ör. boşluk) içerir.
Bu hata, Apigee Edge'in isteği TargetEndpoint'lerden herhangi birine yönlendiremediği durumlarda ortaya çıkar. Bunun nedeni:
Proxy'deki istekle eşleşen bir yol kuralı (<RouteRule>) koşulu yok
VE
ProxyEndpoint'te varsayılan bir yönlendirme kuralı tanımlanmamış (ör. <RouteRule> koşulu olmadan)
Düzelt
Bu hatayı gidermek için aşağıdaki talimatları uygulayın:
ProxyEndpoint'inizde tanımlanan rota kurallarını inceleyin ve isteğinizle eşleşen en az bir rota kuralı koşulu bulunduğundan emin olmak için değiştirin.
Birden fazla RouteRule'unuz varsa koşul içermeyen bir varsayılan yol kuralı tanımlamak iyi bir uygulamadır.
Kurallar ProxyEndpoint'te yukarıdan aşağıya doğru değerlendirildiği için varsayılan rota kuralının her zaman koşullu rotalar listesinde en son tanımlandığından emin olun.
ProxyEndpoint'te <RouteRule> koşullarını tanımlama hakkında daha fazla bilgi edinmek için
Koşullu Hedefler başlıklı makaleyi inceleyin.
messaging.runtime.SenseRaiseFault
HTTP durum kodu:
403 Forbidden
Hata mesajı:
Sense Fault
Olası neden:
Bu hata, Apigee Sense kuralları kapsamında engellenen belirli bir istemci IP adresinden API isteği gönderilirse ortaya çıkar.
Düzelt
Bu hatayı gidermek için aşağıdaki talimatları uygulayın:
Belirli istemci IP adresi engellenmemişse ancak bu hatayı almaya devam ediyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
HTTP durum kodu:
500 Internal Server Error
Hata mesajı:
Bad Form Data
Olası neden:
Bu hata yalnızca aşağıdaki koşulların tümü karşılanırsa ortaya çıkar:
İstemci tarafından Apigee Edge'e gönderilen HTTP isteği şunları içerir:
Content-Type: application/x-www-form-urlencoded,
ve
Yüzde işareti (%) veya yüzde işareti (%) ve ardından,
Formlar - Bölüm 17.13.4.1 uyarınca izin verilmeyen geçersiz onaltılık karakterlerin bulunduğu form verileri.
Apigee Edge'deki API proxy'si, istek akışında ExtractVariables veya Ataması politikasını kullanarak izin verilmeyen karakterleri içeren belirli form parametrelerini okur.
Bu hata, Apigee Edge'de yinelemesine izin verilmeyen belirli bir HTTP üstbilgisinin, istemci uygulaması tarafından Apigee Edge'e gönderilen HTTP isteğinin bir parçası olarak aynı veya farklı değerlerle birden fazla kez görünmesi durumunda ortaya çıkar.
İstemci uygulaması tarafından Apigee Edge'e gönderilen HTTP isteğinin,
RFC 7230, bölüm 3.2: Üst Bilgi Alanları uyarınca her zaman geçerli bir üst bilgi adı içerdiğinden emin olun.
protocol.http.HeaderNameWithNonAsciiChar
HTTP durum kodu:
400 Bad Request
Hata mesajı:
Header {header_name} contains non ascii character {character}
Olası neden:
Bu hata, istemci uygulamasının Apigee Edge'e HTTP isteği kapsamında gönderdiği üstbilgi adı ASCII dışı karakterler içeriyorsa ortaya çıkar.
Header {header_name} contains invalid character {character}
Olası neden:
Bu hata, istemci uygulamasının Apigee Edge'e HTTP isteği kapsamında gönderdiği üstbilgi adı eşittir (=), virgül (,), noktalı virgül (;), sekme, CRLF ve satır sonu karakteri gibi geçersiz karakterler içeriyorsa ortaya çıkar.
Bu hata, istemci uygulaması tarafından Apigee Edge'e gönderilen HTTP istek URL'sindeki yol, RFC 3986, bölüm 3.3: Yol spesifikasyonuna göre izin verilmeyen karakterler içeriyorsa ortaya çıkar.
İstemci uygulaması tarafından Apigee Edge'e gönderilen HTTP istek URL'sindeki yolun,
RFC 3986, bölüm 3.3: Yol uyarınca izin verilmeyen karakterler içermediğinden emin olun.
protocol.http.TooBigBody
HTTP durum kodu:
413 Request Entity Too Large
Hata mesajı:
Body buffer overflow
Olası neden:
Bu hata, istemci uygulaması tarafından Apigee Edge'e gönderilen HTTP isteği kapsamındaki yük boyutu Apigee Edge'de izin verilen sınırdan büyükse ortaya çıkar.
İstemci uygulaması tarafından Apigee Edge'e gönderilen HTTP isteğinin bir parçası olarak gönderilen tüm istek başlıklarının toplam boyutu, Apigee Edge'de izin verilen sınırdan daha büyüktür.
Bu hata, istemci uygulaması tarafından Apigee Edge'e gönderilen HTTP isteği kapsamındaki istek satırının boyutu Apigee Edge'de izin verilen sınırdan büyükse ortaya çıkar.
Bu hata, istemci tarafından HTTP yanıtının bir parçası olarak gönderilen Content-Encoding üstbilgisi,
Apigee Edge tarafından desteklenmeyen bir kodlama/yük biçimi içeriyorsa ortaya çıkar.
Bu hata, target.url akış değişkeniyle temsil edilen arka uç sunucusunun istek URL'si, düz eğik çizgi (/) yerine soru işareti (?) ile başlayan bir yol içeriyorsa ve bu, geçersiz anlamına gelir.
Bu hata, Apigee Edge'de yinelenen olmasına izin verilmeyen belirli HTTP üstbilgisi, arka uç sunucusu tarafından Apigee Edge'e gönderilen HTTP yanıtının bir parçası olarak aynı veya farklı değerlerle birden fazla kez göründüğünde ortaya çıkar.
Arka uç sunucusunun Apigee Edge'e gönderdiği HTTP yanıtının,
RFC 7230, bölüm 3.2: Üst Bilgi Alanları uyarınca her zaman geçerli bir üst bilgi adı içerdiğinden emin olun.
protocol.http.EmptyPath
HTTP durum kodu:
500 Internal Server Error
Hata mesajı:
Request path cannot be empty
Olası neden:
Bu hata, target.url akış değişkeni ile temsil edilen arka uç sunucusunun HTTP istek URL'si boş bir yol içeriyorsa ortaya çıkar.
Header {header_name} contains non ascii character {character}
Olası neden:
Bu hata, Apigee Edge'e gönderilen HTTP yanıtının bir parçası olarak arka uç sunucusu tarafından gönderilen başlık adı ASCII dışı karakterler içeriyorsa ortaya çıkar.
Header {header_name} contains invalid character {character}
Olası neden:
Bu hata, HTTP yanıtının bir parçası olarak arka uç sunucusu tarafından gönderilen başlık adı eşittir (=), virgül (,), noktalı virgül (;), sekme, CRLF ve satır sonu karakteri gibi geçersiz karakterler içeriyorsa meydana gelir.
Proxy refused to create tunnel with response status {status code}
Olası neden:
Bu hata; güvenlik duvarı, EKL (Erişim Kontrol Listesi), DNS sorunları, arka uç sunucusunun kullanılabilirliği vb. nedenlerle proxy sunucu tarafından Apigee Edge ile arka uç sunucu arasında tünel oluşturulurken meydana gelir.
Not: Hata mesajındaki durum kodu (faultstring), sorunun genel nedenini belirtir.
Bu hata, arka uç sunucusundan Apigee Edge'e gönderilen HTTP yanıtı 204 No Content ya da 205 Reset Content olmasına rağmen yanıt gövdesini ve/veya aşağıdaki üstbilgilerden birini veya birkaçını içeriyorsa ortaya çıkar:
Bu hata, istemci uygulaması tarafından Apigee Edge'e gönderilen HTTP isteği kapsamındaki yük boyutu Apigee Edge'de izin verilen sınırdan büyükse ortaya çıkar.
Bu hata, Apigee Edge'e gönderilen HTTP yanıtının bir parçası olarak arka uç sunucusu tarafından gönderilen tüm yanıt başlıklarının toplam boyutu Apigee Edge'de izin verilen sınırdan büyükse ortaya çıkar.
Bu hata, arka uç sunucusu tarafından Apigee Edge'e gönderilen HTTP yanıtının bir parçası olarak gönderilen yanıt satırının boyutu Apigee Edge'de izin verilen sınırdan daha büyükse ortaya çıkar.
Bu hata, arka uç sunucusu tarafından HTTP yanıtının bir parçası olarak gönderilen Content-Encoding üst bilgisi,
Apigee Edge tarafından desteklenmeyen kodlama/yük biçimini içeriyorsa meydana gelir.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
Olası neden:
Bu hata, TargetEndpoint veya TargetServer'da belirtilen KeyAlias, belirli bir anahtar deposunda bulunamadığında ortaya çıkar.
Düzelt
TargetEndpoint veya TargetServer'da belirtilen KeyAlias'ın var olduğundan ve belirli bir Keystore'nun parçası olduğundan emin olun.
security.util.TrustStoreWithNoCertificates
HTTP durum kodu:
500 Internal Server Error
Hata mesajı:
TrustStore {truststore_name} has no certificates
Olası neden:
Bu hata, TargetEndpoint veya TargetServer'da başvurulan belirli Truststore'da sertifika yoksa oluşur.
Düzelt
Arka uç sunucusunun sertifikasını doğrulamak ve Truststore'u bir TargetEndpoint veya TargetServer'da kullanmak istiyorsanız Truststore'un arka uç sunucusunun geçerli sertifikalarını içerdiğinden emin olun.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2024-11-08 UTC."],[],[]]