Apigee Edge belgelerini görüntülüyorsunuz.
.
  Git:
     Apigee X belgeleri. bilgi
Belirti
    İstemci uygulaması 503 Service Unavailable HTTP durum kodunu
    API yanıtı olarak messaging.adaptors.http.flow.SslHandshakeFailed hata kodu
    çağrısının en iyi yolu.
  
Hata mesajı
İstemci uygulaması aşağıdaki yanıt kodunu alır:
HTTP/1.1 503 Service Unavailable
Ayrıca, aşağıdaki hata mesajını da görebilirsiniz:
{
   "fault":{
      "faultstring":"SSL Handshake failed sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target",
      "detail":{
         "errorcode":"messaging.adaptors.http.flow.SslHandshakeFailed"
      }
   }
}Olası nedenler
    Hata koduyla birlikte 503 Service Unavailable durum kodunu alabilirsiniz
    SSL sırasındaki bir hata nedeniyle messaging.adaptors.http.flow.SslHandshakeFailed
    Apigee Edge'in Mesaj İşlemcisi ile arka uç sunucusu arasındaki el sıkışma işleminin
    neden. faultstring  alanındaki hata mesajı genellikle
    bu hataya yol açmış olabilecek üst düzey olası bir nedendir.
    faultstring içinde gözlemlenen hata mesajına bağlı olarak
    uygun teknikleri ifade eder. Bu başucu kitabında, sorun giderme
    faultstring içinde SSL Handshake failed
    sun.security.validator.ValidatorException: PKIX path building failed:
    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification
    path to requested target  hata mesajıyla karşılaşırsanız bu hatayı alabilirsiniz.
  
Bu hata, Apigee Edge'in Mesaj İşlemcisi ile SSL el sıkışma işlemi sırasında ortaya çıkar. arka uç sunucusuna gidin:
- Apigee Edge'in Mesaj İşlemcisi'nin truststore'u varsa:
        - Arka uç sunucusunun tam sertifikasıyla eşleşmeyen bir sertifika zinciri içeriyor sertifika zinciri VEYA
- Arka uç sunucusunun tam sertifika zincirini içermiyor
 
- Arka uç sunucusu tarafından sunulan sertifika zinciri:
        - içerir Tam Nitelikli Alan Adı (FQDN), hedef uç nokta
- Yanlış veya eksik bir sertifika zinciri içeriyor
 
Bu sorunun olası nedenleri aşağıda açıklanmıştır:
| Neden | Açıklama | Şunun için geçerli sorun giderme talimatları: | 
|---|---|---|
| İleti İşleyen'in güven deposunda yanlış/eksik sertifika veya sertifika zinciri | Apigee Edge'in Mesaj İşlemcisi'nin güven deposunda depolanan sertifika ve/veya zinciri, arka uç sunucusunun sertifika zinciriyle eşleşmiyor veya arka uç sunucusunun tam sertifika zincirini içermiyor. | Edge Özel ve Herkese Açık Bulut kullanıcıları | 
| Arka uç sunucusunun sertifikasındaki FQDN ile hedef uç noktadaki ana makine adı eşleşmiyor | Arka uç sunucusu tarafından sunulan sertifika, hedef uç noktasında belirtilen ana makine adıyla eşleşmeyen bir FQDN içeriyor. | Edge Özel ve Herkese Açık Bulut kullanıcıları | 
| Yanlış/eksik sertifika veya arka uç sunucusu tarafından sunulan sertifika zinciri | Arka uç sunucusu tarafından sağlanan sertifika zinciri yanlış veya eksik. | 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.SslHandshakeFailedaşağıda bulabilirsiniz:- ( resmi büyüt)  
- Hata koduyla ilgili bilgi - messaging.adaptors.http.flow.SslHandshakeFailedgö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: 503
- Hata Kaynağı: target
- Hata Kodu: messaging.adaptors.http.flow.SslHandshakeFailed
 
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 503 Service Unavailablehatasını bekleyinmessaging.adaptors.http.flow.SslHandshakeFailedveya
- Sorunu yeniden oluşturabiliyorsanız API çağrısını yaparak sorunu yeniden oluşturun
              503 Service Unavailable.
 
- 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 İstek Akışı Başlatıldı aşamasından sonra görürsünüz aşağıdaki gibidir: - ( resmi büyüt)  
- İzdeki aşağıdaki değerleri not edin:
          - hata:  SSL Handshake failed sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- error.cause: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- error.class: com.apigee.errors.http.server.ServiceUnavailableException
- SSL Handshake failed sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targethatasının değeri, SSL El Sıkışmasının başarısız olduğunu gösterir. bunun nedeni, Apigee Edge'in Mesaj İşlemcisinin arka uç sunucusunun sertifikası.
 
- hata:  
- İzlemedeki AX (Analytics Verilerinin Kaydedilen) Aşamasına gidin ve tıklayın.
- Aşama Ayrıntıları Hata Üstbilgileri bölümüne ilerleyin 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:
| Hata başlıkları | Değer | 
|---|---|
| X-Apigee-fault-code | messaging.adaptors.http.flow.SslHandshakeFailed | 
| 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 503 Service Unavailableile 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 503hatası olup olmadığını görmek için arama yapın Belirli bir süredemessaging.adaptors.http.flow.SslHandshakeFailed(sorun ) veya503ile hâlâ başarısız olan istekler varsa bunları kontrol edin.
- X-Apigee-fault-code eşleşmesinde - 503hatası bulursanız- messaging.adaptors.http.flow.SslHandshakeFaileddeğerini, ardından X-Apigee-fault-source.'un değerini belirleyin.- NGINX erişim günlüğünden örnek 503 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.SslHandshakeFailed- X-Apigee-fault-source - target
İleti işleyen günlükleri
4. Prosedür: Mesaj İşleyici Günlüklerini Kullanma
- API Monitoring, İzleme aracını kullanarak başarısız isteklerden birinin ileti kimliğini belirleyin. veya NGINX Erişim Günlükleri'ni yaygın teşhis adımlarında açıklandığı şekilde tanımlar.
- Mesaj İşleyen günlüğünde belirli bir istek iletisi kimliğini arayın ( - /opt/apigee/var/log/edge-message-processor/logs/system.log). Şunları görebilirsiniz: şu hata oluştu:- org:myorg env:test api:MyProxy rev:1 - messageid:myorg-28247-3541813-1NIOThread@1 ERROR HTTP.CLIENT - HTTPClient$Context.handshakeFailed() : SSLClientChannel[Connected: Remote:X.X.X.X:443 Local:192.168.194.140:55102]@64596 useCount=1 bytesRead=0 bytesWritten=0 age=233ms lastIO=233ms isOpen=true handshake failed, message: General SSLEngine problem- Yukarıdaki hata, İleti İşleyen ile SSL anlaşmasının başarısız olduğunu gösterir. arka uç sunucusuna gidin. - Bunun ardından aşağıda gösterildiği gibi ayrıntılı yığın izlemeyle ilgili bir istisna gelir: - org:myorg env:test api:MyProxy rev:1 - messageid:myorg-28247-3541813-1NIOThread@1 ERROR ADAPTORS.HTTP.FLOW - RequestWriteListener.onException() : RequestWriteListener.onException(HTTPRequest@1522922c) javax.net.ssl.SSLHandshakeException: General SSLEngine problem at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1478) at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535) ... <snipped> Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem at sun.security.ssl.Alerts.getSSLException(Alerts.java:203) at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1728) ... <snipped>- Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetat sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) ... <snipped>- El sıkışma hatasının aşağıdaki nedenlerden kaynaklandığını unutmayın: - Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target- Bu simge, Apigee Edge'in Mesaj İşleyicisi olarak SSL El Sıkışması'nın başarısız olduğunu gösterir. arka uç sunucusunun sertifikasını doğrulayamadı. 
Neden: İleti İşleyen'in güven deposunda yanlış/eksik sertifika veya sertifika zinciri
Teşhis
- API kullanılarak gözlemlenen hatanın Hata Kodu ve Hata Kaynağı'nı belirleme Yaygın Uygulamalarda açıklandığı üzere İzleme, İzleme aracı veya NGINX erişim günlükleri adımları inceleyin.
- Hata Kodu messaging.adaptors.http.flow.SslHandshakeFailedise Aşağıdaki yöntemlerden birini kullanarak hata mesajını belirleyin:
- Aşağıdaki talimatları uygulayarak İzleme aracını kullanarak error.cause dosyasını bulun Yaygın teşhis adımları
- İstisnayı, İleti İşlemci Günlüklerini kullanarak bulun: Yaygın teşhis adımları
- Şurada görüldüğü gibi API çağrınıza verilen hata yanıtında faultstringbilgisini bulun Hata mesajı
- Hata mesajı sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"ise bu, SSL El Sıkışması'nın mevcut olduğunu gösterir. başarısız oldu. Bunun nedeni, Apigee Edge'in Mesaj İşlemcisinin arka uç sunucusunun sertifikası.
Bu sorunu iki aşamada hata ayıklayabilirsiniz:
- 1. Aşama: Arka uç sunucusunun sertifika zincirini belirleme
- 2. Aşama: İleti İşleyen'in güven deposunda depolanan sertifika zincirini karşılaştırma
1. Aşama
1. Aşama: Arka uç sunucusunun sertifika zincirini belirleme
Arka uç sunucusunun sertifika zincirini belirlemek için aşağıdaki yöntemlerden birini kullanın:
openssl
Arka uç sunucusunun ana makinesinde openssl komutunu yürütün
                  şu şekilde ekleyin:
openssl s_client -connect BACKEND_SERVER_HOST_NAME:PORT#
Yukarıdaki komutun çıkışındaki Sertifika zincirini not edin:
opensl komut çıkışından örnek arka uç sunucusu Sertifika zinciri:
Certificate chain 0 s:/CN=mocktarget.apigee.net i:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 1 s:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 2 s:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1
tcpdump
- Herkese açık bulut kullanıcısıysanız arka uç sunucusuna gidin.
- Private Cloud kullanıcısıysanız TCP/IP arka uç sunucusuna veya Mesaj İşleyici'ye gönderebilirsiniz. Tercihen, bu videoları arka uç sunucusuna gönderilir.
- Şunları kullanın: tcpdump komutunu girin: - tcpdump -i any -s 0 host IP_ADDRESS -w FILE_NAME 
- TCP/IP paketlerini Wireshark aracı veya aşina olduğunuz benzer bir araçtır. - Tcpdump Örnek Analizi - ( resmi büyüt)   - Packet 43: İleti İşleyen (Kaynak) bir
                      Client Hellomesajını arka uç sunucuya gönderir (Hedef).
- Paket 44: Arka uç sunucusu
                      İleti İşleyen'den Client Helloileti.
- Paket 45: Arka uç sunucusu, Server Hellodeğerini gönderir mesajıyla birlikte gönderilir.
- Packet #46: Mesajı İşleyen,
                      Server Hellomesajı ve sertifika.
- 47. Paket: İleti İşleyen, bir - FIN, ACKgönderir mesajı ve ardından 48 numaralı pakette- RST, ACKşeklindedir.- Bu, web sunucusu tarafından sağlanan arka uç sunucu sertifikasının İleti İşleyici başarısız oldu. Bunun nedeni, İletiyi İşleyen’in arka uç sunucusunun sertifikasıyla eşleşen veya güvenemeyen herhangi bir sertifika arka uç sunucusunun sertifikasını, (İleti İşleyici'nin) güven deposu. 
- Geri dönüp 45 numaralı paket'i inceleyerek sertifikayı arka uç sunucusu tarafından gönderilen zincir - ( resmi büyüt)   
- Bu örnekte, sunucunun bir yaprak sertifikası gönderdiğini görebilirsiniz.
                      common name (CN) = mocktarget.apigee.netve ardından birCN= GTS CA 1D4ve kök sertifika içeren ara sertifikaCN = GTX Root R1ile.
 - Sunucunun sertifika doğrulamasının başarısız olduğundan eminseniz 2. Aşama: Arka uç sunucusunun sertifikasını karşılaştırabilirsiniz. güven deposunda depolanan sertifikaları ve sertifikaları kontrol eder. 
- Packet 43: İleti İşleyen (Kaynak) bir
                      
2. Aşama
2. Aşama: Arka uç sunucusunun sertifikasını ve Mesaj İşleyici'nin güven deposu
- Arka uç sunucusunun sertifika zincirini belirleyin.
- İleti İşleyici’nin güven deposunda saklanan sertifikayı belirlemek için
            şu adımları uygulayın:
            - TrustStoreöğesinden güven deposu referans adını alın (- TargetEndpointetiketinin- SSLInfobölümüne bakın).- TargetEndpointöğesindeki örnek- SSLInfobölümüne göz atalım yapılandırma:- <TargetEndpoint name="default"> ... <HTTPTargetConnection> <Properties /> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeystoreRef</KeyStore> <KeyAlias>myKey</KeyAlias> <TrustStore> ref://myCompanyTrustStoreRef </TrustStore> </SSLInfo> </HTTPTargetConnection> ... </TargetEndpoint>
- Yukarıdaki örnekte TrustStorereferans adı:myCompanyTruststoreRef.
- Edge kullanıcı arayüzünde Ortamlar > Referanslar. Dosyadaki adı not edin Belirli Trustedstore referansı için Referans sütunu. Bu, güven deposu adı. - ( resmi büyüt)   
- Yukarıdaki örnekte güven deposu adı şu şekildedir: - myCompanyTruststoreRef: - myCompanyTruststore
 
- Truststore'da depolanan sertifikaları al (önceki adımda belirlenir) kullanın: - Bir anahtar deposu veya güven deposu için tüm sertifikaları alın. Bu API, işletmenizin sertifikalarınız da var. - Herkese açık Cloud kullanıcısı: - curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/ORGANIZATION_NAME/environments/ENVIRONMENT_NAME/keystores/KEYSTORE_NAME/certs -H "Authorization: Bearer $TOKEN" - Private Cloud kullanıcısı: - curl -v -X GET http://MANAGEMENT_HOST:PORT_#/v1/organizations/ORGANIZATION_NAME/environments/ENVIRONMENT_NAME/keystores/KEYSTORE_NAME/certs -H "Authorization: Bearer $TOKEN" - Yer: - ORGANIZATION_NAME, kuruluşun adıdır
- ENVIRONMENT_NAME, ortamın adıdır
- KEYSTORE_NAME, anahtar deposunun adıdır
- $TOKEN, OAuth 2.0 erişim jetonunuz olarak şu şekilde ayarlanmıştır: OAuth 2.0 erişim jetonu alma
- Bu örnekte kullanılan curlseçenek başlıklı konuda açıklanmaktadır. Curl kullanma
 - Örnek çıkış: - myCompanyTruststoreörneği güven deposundaki sertifikalar şunlardır:- [ "serverCert" ] 
- 
                Bir Anahtar Deposu veya Truststore'dan belirli bir sertifikanın Sertifika Ayrıntılarını alın.
                Bu API, API'deki belirli bir sertifikadaki belirli bir sertifikanın
                güven deposu.
                Herkese açık Cloud kullanıcısı: curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/ORGANIZATION_NAME/environments/ENVIRONMENT_NAME/keystores/KEYSTORE_NAME/certs/CERT_NAME -H "Authorization: Bearer $TOKEN" Private Cloud kullanıcısı curl -v -X GET http://MANAGEMENT_HOST:PORT_#>/v1/organizations/ORGANIZATION_NAME/environments/ENVIRONMENT_NAME/keystores/KEYSTORE_NAME/certs/CERT_NAME -H "Authorization: Bearer $TOKEN" Yer: - ORGANIZATION_NAME, kuruluşun adıdır
- ENVIRONMENT_NAME, ortamın adıdır
- KEYSTORE_NAME, anahtar deposunun adıdır
- CERT_NAME, sertifikanın adıdır
- $TOKEN, OAuth 2.0 erişim jetonunuz olarak şu şekilde ayarlanmıştır: OAuth 2.0 erişim jetonu alma
- Bu örnekte kullanılan curlseçenek başlıklı konuda açıklanmaktadır. Curl kullanma
 Örnek Çıkış serverCertayrıntılarında, konu ve kartı veren aşağıdaki şekilde gösterilmektedir:Yaprak/Varlık Sertifikası: "subject": "CN=mocktarget.apigee.net", "issuer": "CN=GTS CA 1D4, O=Google Trust Services LLC, C=US", Orta Düzey Sertifika: "subject" : "CN=GTS CA 1D4, O=Google Trust Services LLC, C=US", "issuer" : "CN=GTS Root R1, O=Google Trust Services LLC, C=US", 
 
- 1. adımda elde edilen gerçek sunucu sertifikasının ve sertifikanın 3. adımdaki eşleşmede bulunan güven deposunda saklanır. Bunlar eşleşmezse bir neden sunmalısınız. - Yukarıda gösterilen örnekten her seferinde tek bir sertifikaya bakalım: - Yaprak sertifikası:
              Arka uç sunucusundan: s:/CN=mocktarget.apigee.net i:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 İleti İşleyici'nin (istemci) güven deposundan: "subject": "CN=mocktarget.apigee.net", "issuer": "CN=GTS CA 1D4, O=Google Trust Services LLC, C=US", Truststore'da depolanan yaprak sertifikası, arka ucun sertifikasıyla eşleşir sunucu. 
- Ara sertifika:
                Arka uç sunucusundan: s:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 İleti İşleyici'nin (istemci) güven deposundan: "subject" : "CN=GTS CA 1D4, O=Google Trust Services LLC, C=US", "issuer" : "CN=GTS Root R1, O=Google Trust Services LLC, C=US", Truststore'da depolanan ara sertifika, arka uç sunucusuna gidin. 
- Kök sertifika:
              Arka uç sunucusundan: s:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 Kök sertifika, İleti İşleyen'in güven deposu. 
- Truststore'da kök sertifika eksik olduğundan, İleti İşleyici şu istisnayı devreye sokar: - sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - ve hata koduyla - 503 Service Unavailabledeğerini döndürür Müşteri için- messaging.adaptors.http.flow.SslHandshakeFailedizin verir.
 
- Yaprak sertifikası:
              
Çözünürlük
- Arka uç sunucusunun uygun ve eksiksiz sertifika zincirine sahip olduğunuzdan emin olun.
- Herkese açık Cloud kullanıcısıysanız şu makaledeki talimatları uygulayın: Cloud için TLS sertifikasını güncelleyerek bu sertifikayı Apigee Edge'in İleti İşleyici güven deposu.
- Private Cloud kullanıcısıysanız şu sayfadaki talimatları uygulayın: Private Cloud için TLS sertifikasını güncelleyerek sertifikayı şu şekilde güncelleyin: Apigee Edge'in Mesaj İşlemci güven deposu.
Neden: Arka uç sunucusunun sertifikasındaki FQDN ile hedef uç noktadaki ana makine adı eşleşmiyor
    Arka uç sunucusu, FQDN içeren ve
    hedef uç noktalarda belirtilen ana makine adını işaretlerseniz, Apigee Edge'in Mesaj İşlemi hatası
    SSL Handshake failed sun.security.validator.ValidatorException: PKIX path building failed:
    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification
    path to requested target
  
Teşhis
- Gözlemlediğiniz bu hedef uç noktasını API proxy'sinde inceleyin
      hatasını alın ve arka uç sunucusunun ana makine adını not edin:
      Örnek Hedef Uç Noktası: <TargetEndpoint name="default"> … <HTTPTargetConnection> <Properties /> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://backend.company.com/resource</URL> </HTTPTargetConnection> </TargetEndpoint>Yukarıdaki örnekte, arka uç sunucusunun ana makine adı backend.company.comşeklindedir.
- opensslkullanarak arka uç sunucusunun sertifikasındaki FQDN'yi belirleyin komutunu çalıştırın:- openssl s_client -connect BACKEND_SERVER_HOST_NAME>:PORT_#> - Örneğin: - openssl s_client -connect backend.company.com:443 - Certificate chainbölümünü inceleyin ve şu şekilde belirtilen FQDN değerine dikkat edin: bir kısmı CN'ye eklenecek.- Certificate chain 0 s:/ - CN=backend.apigee.neti:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 1 s:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 2 s:/C=US/O=Google Trust Services LLC/CN=GTS Root R1 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1- Yukarıdaki örnekte, arka uç sunucusunun FQDN'si - backend.apigee.netşeklindedir.
- 1. adımdan ve FQDN'den alınan arka uç sunucusunun ana makine adı uyuşmuyorsa hatanın nedeni budur.
- Yukarıda açıklanan örnekte, hedef uç noktadaki ana makine adı
        backend.company.comAncak arka uç sunucusunun sertifikasındaki FQDN adıbackend.apigee.net. Eşleşmiyorlarsa bu hatayı alırsınız.
Çözünürlük
Aşağıdaki yöntemlerden birini kullanarak bu sorunu düzeltebilirsiniz:
Doğru FQDN
Arka uç sunucusunun anahtar deposunu doğru FQDN, geçerli ve eksiksiz sertifika ile güncelleyin zincir:
- Doğru FQDN'ye sahip bir arka uç sunucusunun sertifikası yoksa uygun CA'dan (Sertifika Yetkilisi) uygun sertifikayı alın.
- arka uç sunucusunun sertifika zincirinin geçerli ve eksiksiz olmasını sağlayın. 
- Sertifika zincirinin doğru FQDN'sini içeren geçerli ve eksiksiz sertifika zincirine sahip olduğunuzda, yaprak veya varlık sertifikasında, ana makine adıyla aynı olan arka uç sunucusu belirtilenden sonra, arka ucun anahtar deposunu tam sertifika zincirine sahip.
Doğru arka uç sunucusu
Hedef uç noktasını doğru arka uç sunucusunun ana makine adıyla güncelleyin:
- Ana makine adı, hedef uç noktasında yanlış belirtildiyse hedef uç noktasının arka uçtaki FQDN ile eşleşen doğru ana makine adına sahip olmasını sağlayın sunucu sertifikası.
- API proxy'sinde yapılan değişiklikleri kaydedin. - Yukarıda açıklanan örnekte, arka uç sunucu ana makine adı yanlışsa arka uç sunucusunun sertifikasındaki FQDN'yi kullanarak sorunu düzeltebilirsiniz. Bu - backend.apigee.netşu şekildedir:- <TargetEndpoint name="default"> … <HTTPTargetConnection> <Properties /> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://backend.apigee.net/resource</URL> </HTTPTargetConnection> </TargetEndpoint>
Neden: Arka uç sunucusu tarafından sağlanan yanlış/eksik sertifika veya sertifika zinciri
Teşhis
- opensslkomutunu çalıştırarak arka uç sunucusunun sertifika zincirini alın ana makine adına göre aşağıdaki şekilde değiştirin:- openssl s_client -connect BACKEND_SERVER_HOST_NAME:PORT_# - Yukarıdaki komutun çıkışındaki - Certificate chaindeğerini not edin.- opensl komut çıkışından örnek arka uç sunucusu Sertifika Zinciri: - Certificate chain 0 s:/ - CN=mocktarget.apigee.neti:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 1 s:/C=US/O=Google Trust Services LLC/CN=GTS CA 1D4 i:/C=US/O=Google Trust Services LLC/CN=GTS Root R1
- Aşağıdaki sayfada açıklandığı gibi, doğru ve eksiksiz sertifika zincirine sahip olduğunuzu doğrulayın Sertifika zinciri doğrulanıyor.
- Arka uç sunucusu için geçerli ve eksiksiz sertifika zincirine sahip değilseniz Bu sorunun nedeni budur. - Yukarıda gösterilen örnek arka uç sunucusunun sertifika zincirinde kök sertifika eksik. Bu nedenle bu hatayı alırsınız. 
Çözünürlük
Arka uç sunucusunun anahtar deposunu geçerli ve tam bir sertifika zinciriyle güncelleyin:
- Arka uç sunucunuzun sertifika zincirinin geçerli ve eksiksiz olduğunu doğrulayın. 
- Arka uç sunucusunun anahtar deposunda geçerli ve eksiksiz sertifika zincirini güncelleyin.
Sorun devam ederse adresine gidin. Teşhis bilgileri toplanmalıdır.
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ı
- Hatayı yeniden oluşturmak için curlkomutunu tamamlayın
- Hatayı gösteren izleme dosyası
- opensslkomutunun çıktısı:- openssl s_client -connect BACKEND_SERVER_HOST_NAME:PORT_#
- Arka uç sunucusunda yakalanan TCP/IP paketleri
 
- Private Cloud kullanıcısıysanız aşağıdaki bilgileri sağlayın:
        - Tam hata mesajı görüntülendi
- API proxy paketi
- Hatayı gösteren izleme dosyası
- Mesaj İşleyici günlükleri /opt/apigee/var/log/edge-message-processor/logs/system.log
- opensslkomutunun çıktısı:- openssl s_client -connect BACKEND_SERVER_HOST_NAME:PORT_#
- Arka uç sunucusunda veya Mesaj İşleyicide yakalanan TCP/IP paketleri.
- Çıktı Bir anahtar deposu veya güven deposu API'si için tüm sertifikaları ve ayrıca kullanılan her sertifika Bir Anahtar Deposu veya Truststore API'sinden Sertifika Ayrıntılarını alın.
 
Referanslar
- Sertifika Güven zinciri
- OpenSSL komutu