Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Videolar
Video | Açıklama |
---|---|
500 Dahili Sunucu Hatası - arka uçtan kaynaklanan | Arka uç sunucusunun neden olduğu gerçek zamanlı bir 500 Internal Server Error ile birlikte hatayı giderme ve çözme adımları gösterilir. |
Belirti
İstemci uygulaması şu mesajla birlikte 500
HTTP durum kodunu alır:
API çağrılarına yanıt olarak Internal Server Error
.
HTTP durum kodu 500
genel bir hata yanıtıdır. Bu, sunucunun
isteği yerine getirmesini engelleyen beklenmedik bir durumla karşılaştı. Bu hata
genellikle başka bir hata kodu uygun olmadığında sunucu tarafından döndürülür.
Hata mesajları
İstemci uygulaması aşağıdaki yanıt kodunu alır:
HTTP/1.1 500 Internal Server Error
Ayrıca, aşağıda gösterilene benzer bir hata mesajı da görebilirsiniz:
Örnek 1
Örnek Arka Uç Sunucusu Yanıtı 1
{"errorMessage":"Sorry either your e-mail or password didn't match.", "errorParameters":"{}", "errorCode":"500", "errorKey":"INVALID_EMAILPASSWORD"}
Örnek 2
Örnek Arka Uç Sunucusu Yanıtı 2.
<Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <Body> <Error> <code>500</code> <message xml:lang="en-US">Not Authorised(e4138fa0-ec57).</message> </Error> </Body> </Envelope>
Olası nedenler
500 Internal Server Error
öğesi,
pek çok nedeni olabilir. Bu başucu kitabında, yaygın adımları kullanarak sorun giderme ve bu sorunu çözme hakkında bilgi verilmektedir.
hataya neden olabilir.
Bu sorunun olası nedenleri aşağıda açıklanmıştır:
Neden | Açıklama | Şunun için geçerli sorun giderme talimatları: |
---|---|---|
Arka uç sunucusunda hata | Arka uç sunucusu bir nedenden dolayı başarısız olabilir. | Edge Özel ve Herkese Açık Bulut kullanıcıları |
Sık kullanılan teşhis adımları
Bu hatayı teşhis etmek için aşağıdaki araçlardan/tekniklerden birini kullanın:
API Monitoring
1. Prosedür: API İzlemeyi Kullanma
API Monitoring'i kullanarak hatayı teşhis etmek için:
- Apigee Edge kullanıcı arayüzünde uygun role sahip olur.
Sorunu incelemek istediğiniz kuruluşa geçin.
- Analiz > API İzleme > İnceleme sayfası.
- Hataları gözlemlediğiniz zaman aralığını seçin.
Zaman ile Hata Kodu'nun grafiğini çizin.
Hata kodunun bulunduğu bir hücre seçin Gösterildiği şekliyle
messaging.adaptors.http.flow.ErrorResponseCode
aşağıda bulabilirsiniz:( resmi büyüt)
Hata koduyla ilgili bilgi
messaging.adaptors.http.flow.ErrorResponseCode
gösteriliyor aşağıda gösterilmiştir:( resmi büyüt)
Günlükleri görüntüle 'yi tıklayın ve başarısız isteğin bulunduğu satırı genişletin.
( resmi büyüt)
- Günlükler penceresinde aşağıdaki ayrıntılara dikkat edin:
- Mesaj Kimliği İste
- Durum Kodu:
500
- Hata Kaynağı:
target
- Hata Kodu:
messaging.adaptors.http.flow.ErrorResponseCode
Trace
2. Prosedür: İzleme aracını kullanma
İzleme aracını kullanarak hatayı teşhis etmek için:
- İzleme oturumunu etkinleştirin ve
- Hata kodu içeren
500 Internal Server Error
hatasını bekleyinmessaging.adaptors.http.flow.ErrorResponseCode
veya - Sorunu yeniden oluşturabiliyorsanız API çağrısını yaparak sorunu yeniden oluşturun
500 Internal Server Error
.
- Hata kodu içeren
Show all FlowInfos (Tüm Akış Bilgilerini Göster) seçeneğinin etkin olduğundan emin olun:
- Başarısız isteklerden birini seçin ve izini inceleyin.
- İzlemenin farklı aşamaları arasında gezinin ve hatanın nerede oluştuğunu bulun.
Hatayı genellikle Hedef sunucudan alınan yanıttan sonraki bir akışta bulursunuz aşamasındaki aşamayı tamamlayın:
( resmi büyüt)
- İzlemedeki AX (Analytics Verilerinin Kaydedilen) Aşamasına gidin ve tıklayın.
Aşama Ayrıntıları Yanıt Başlıkları bölümüne gidin ve X-Apigee-fault-code ve X-Apigee-fault-source değerleri ve Aşağıda gösterildiği gibi X-Apigee-Message-ID:
( resmi büyüt)
- X-Apigee-fault-code, X-Apigee-fault-source değerlerini not edin. ve X-Apigee-Message-ID:
Yanıt başlıkları | Değer |
---|---|
X-Apigee-fault-code | messaging.adaptors.http.flow.ErrorResponseCode |
X-Apigee-fault-source | target |
X-Apigee-Message-ID | MESSAGE_ID |
NGINX
3. Prosedür: NGINX erişim günlüklerini kullanma
NGINX erişim günlüklerini kullanarak hatayı teşhis etmek için:
- Private Cloud kullanıcısıysanız aşağıdakileri belirlemek için NGINX erişim günlüklerini kullanabilirsiniz:
HTTP
500 Internal Server Error
ile ilgili önemli bilgileri girin. NGINX erişim günlüklerini kontrol edin:
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log
- Hata kodu içeren
500
hatası olup olmadığını görmek için arama yapın Belirli bir süredemessaging.adaptors.http.flow.ErrorResponseCode
(sorun ) veya500
ile hâlâ başarısız olan istekler varsa bunları kontrol edin. X-Apigee-fault-code eşleştirmesinde
500
hatası bulursanızmessaging.adaptors.http.flow.ErrorResponseCode
değerini, ardından X-Apigee-fault-source.'un değerini belirleyin.NGINX erişim günlüğünden örnek 500 hatası:
( resmi büyüt)
NGINX erişim günlüğünden alınan yukarıdaki örnek giriş, X-Apigee-fault-code ve X-Apigee-fault-source:
Üst bilgiler Değer X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
X-Apigee-fault-source target
Neden: Arka uç sunucusunda hata
Teşhis
Arka uç sunucusunun yanıtladığı 500 Internal Server Error
şöyle olabilir:
çeşitli nedenlerden kaynaklanır. Her bir durumu ayrı ayrı teşhis etmeniz gerekir.
- API Monitoring kullanılırken gözlemlenen hatanın Hata Kodu, Hata Kaynağı'nı belirleyin. Trace aracı veya Yaygın teşhis adımlarında açıklandığı üzere NGINX erişim günlükleri.
- Hata Kaynağı
target
ve Hata Kodumessaging.adaptors.http.flow.ErrorResponseCode
ise bu, hata arka uç sunucusu tarafından döndürülür. - Sorunun nedenini teşhis etmek için aşağıdaki adımlardan birini kullanabilirsiniz:
Trace
Trace'i kullanma:
Hatayla ilgili bir İzleme oturumunuz varsa aşağıdaki adımları uygulayın:
- Trace'te, başarısız olan API isteğini seçin.
500 Internal Server Error
Şu menüden Hedef sunucudan alınan yanıt aşamasını seçin: aşağıdaki şekilde gösterildiği gibi başarısız API isteği:
( resmi büyüt)
Aşama Ayrıntıları bölümüne gidin ve Yanıt İçeriği,arka uç sunucusundan alınan yanıtı içerir.
Örnek Yanıt İçeriği:
<Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <Body> <Error> <code>500</code> <message xml:lang="en-US">Not Authorised(e4138fa0-ec57).</message> </Error> </Body> </Envelope>
Yukarıdaki yanıtta, arka uç sunucusundan alınan hata mesajının Yetkili Değil. Bu, kullanıcının geçersiz bir ve bu nedenle bu hatayı alıyorlar.
Arka uç sunucuya çağrı yap
Arka uç sunucusuna doğrudan çağrı yapma:
Arka uç sunucusuna doğrudan çağrı yapabilir ve şunları yapabilirsiniz:
- Aynı
500 Internal Server Error
olup olmadığını kontrol edin Apigee Edge üzerinden istek yapıldığında alınan yanıt - Arka uç sunucusundan alınan hata mesajını (yanıtı) kontrol edin
Arka uç sunucusuna doğrudan çağrı yapmak için aşağıdaki adımları uygulayın:
- Gerekli tüm başlıkları, sorgu parametrelerini ve isteğin bir parçası olarak arka uç sunucusuna iletilmesi gereken kimlik bilgileridir.
- Arka uç hizmeti herkesin erişimine açıksa
curl
komutu, Postman veya başka bir REST İstemcisi'ni kullanarak doğrudan arka uç sunucu API'sine bağlanmalıdır. Arka uç sunucusuna yalnızca İleti İşleyenler tarafından erişilebiliyorsa
curl
komutunu, Postman'ı veya başka bir REST İstemcisini kullanın ve arka uç sunucu API'sini kullanabilirsiniz.- Arka uç hizmetinin gerçekten
500 Internal Server Error
döndürüp döndürmediğini doğrulayıp arka uç sunucusu tarafından döndürülen hata mesajını (yanıt) ve bu hatanın nedenini belirleyin.
Arka uç sunucu günlükleri
Arka uç sunucu günlüklerini kullanma
- Arka uç sunucu günlüklerini inceleyin ve hatayla ilgili daha fazla ayrıntı almaya çalışın. ortaya çıkarmanıza yardımcı olabilir.
- Mümkünse daha fazla ayrıntı almak için arka uç sunucusunda hata ayıklama modunu etkinleştirin hata ve hata hakkında
- Trace'te, başarısız olan API isteğini seçin.
Şunu kullanıp kullanmadığınızı kontrol edin: başarısız API Proxy'sinin belirli hedef uç noktasında proxy zincirlemesi kullanımı; yani hedef sunucu/hedef uç noktası Apigee Edge. Bunu belirlemek için:
Başarısız isteğin izini biliyorsanız İstek gönderildi seçeneğini belirleyin aşamasını belirleyin ve Curl'ü Göster'i tıklayın.
- Açılan Hedef Sunucuya Gönderilen İsteğin Kısmı penceresi açılır. hedef sunucu ana makine takma adını belirleyebilir.
- API Proxy'nizin hedef uç noktasını inceleyin ve arka uç sunucusunun Hedef sunucudaki URL veya ana makine adı başka bir Proxy'ye veya kendi proxy'nize işaret ediyor arka uç sunucusuna gidin.
- Hedef sunucu ana makine takma adı, bir sanal ana makine takma adına işaret ediyorsa
proxy zincirlemesidir. Bu durumda,
500 Internal Server Error
öğesine gerçekten neyin neden olduğunu belirleyene kadar zincirlenmiş proxy'yi kontrol eder. Bu durumlarda500 Internal Server Error
, diğer aşamalarda da diğer zincirli proxy'lerde görülür. bu başucu kitabında veya 500 Dahili Sunucu Hatası başucu kitabı. - Hedef sunucu ana makine takma adı arka uç sunucunuzu işaret ediyorsa Çözüm.
Çözünürlük
500
hatasının arka uç sunucusundan geldiği tespit edilirse
sorunu uygun şekilde düzeltmek için arka uç sunucu ekibinizle birlikte çalışın.
Yukarıda açıklanan örnekte, sorunları düzeltmek için kullanıcılardan geçerli kimlik bilgileri iletmelerini istemeniz gerekebilir. çözmüştük.
Dikkat edilmesi gereken önemli noktalar
500 Internal Server Error
için arka uç sunucusu tarafından döndürülen asıl hata mesajı, yalnızca başarısız olan işlemi izleme oturumunu yakaladıysanız kabul edersiniz.- Arka uç sunucu yanıtı; API Monitoring, NGINX Erişim Günlükleri veya Güvenlik nedeniyle İleti İşleyen günlükleri.
- Daha fazla bilgi edinmek için arka uç sunucu günlüklerini inceleyebilir veya arka uçta hata ayıklama modunu etkinleştirebilirsiniz
500 Internal Server Error
hakkında ayrıntılı bilgi edinin ve/veya döndürülen hata mesajını görüntüleyin arka uç sunucusu tarafından oluşturulur.
Teşhis bilgileri toplanmalıdır
Yukarıdaki talimatları uygulamanıza rağmen sorun devam ederse aşağıdaki Apigee Edge Destek Ekibi ile iletişime geçin.
Herkese açık Cloud kullanıcısıysanız aşağıdaki bilgileri sağlayın:
- Kuruluş adı
- Ortam adı
- API Proxy adı
500
hatasını yeniden oluşturmak içincurl
komutunu tamamlayın500 Internal Server Error
ile istekleri içeren izleme dosyası500
hataları şu anda ortaya çıkmıyorsa zaman belirtin geçmişte500
hatanın oluştuğu saat dilimi bilgileriyle birlikte dönem.
Private Cloud kullanıcısıysanız aşağıdaki bilgileri sağlayın:
- Başarısız istekler için tam hata mesajı gözlemlendi
- Gözlemlediğiniz kuruluş, ortam adı ve API proxy adı
500
hata - API proxy paketi
500 Internal Server Error
ile istekleri içeren izleme dosyası- NGINX erişim günlükleri
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log
Yer: ORG, ENV ve PORT# gerçek değerlerle değiştirilir.
- Mesaj İşleyici sistem günlükleri
/opt/apigee/var/log/edge-message-processor/logs/system.log
. 500
hatalarının meydana geldiği saat dilimi bilgilerini içeren dönem.