Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Belirti
İstemci uygulaması şu mesajla birlikte 404 HTTP durum kodunu alır:
Not Found ve hata mesajı
Unable to identify proxy for host: VIRTUAL_HOST and url: PATH
yanıt olarak yeniden geliştiriyoruz.
Bu hata, Edge'in belirtilen sanal ana makine ve yol için API proxy'sini bulamadığı anlamına gelir.
Hata Mesajı
Aşağıdaki HTTP durum kodunu alırsınız:
HTTP/1.1 404 Not Found
Ayrıca, aşağıda gösterilene benzer bir hata mesajı da görürsünüz:
{
"fault":{
"faultstring":"Unable to identify proxy for host: default and url: \/oauth2\/token",
"detail":{
"errorcode":"messaging.adaptors.http.flow.ApplicationNotFound"
}
}
}
Yukarıdaki hata mesajı, Edge'in
default sanal ana makine ve /oauth2/token yolu.
Olası Nedenler
Bu hatanın olası nedenlerinden bazıları aşağıda listelenmiştir:
| Neden | Açıklama | Şunun için geçerli sorun giderme talimatları: |
|---|---|---|
| API proxy'si belirli bir sanal ana makineyle ilişkilendirilmemiş | İlgili API proxy'si, sanal ana makinede istekleri kabul edecek şekilde yapılandırılmamış hata iletisinde belirtilmiş olmalıdır. | Edge Herkese Açık ve Private Cloud kullanıcıları |
| API proxy'sinin yeni dağıtılan bir düzeltmesinde sanal ana makine kaldırıldı | İstemci hâlâ etkinken yeni dağıtılan düzeltmeden sanal ana makineyi kaldırma kullanılması bu soruna neden olabilir. | Edge Herkese Açık ve Private Cloud kullanıcıları |
| Yol herhangi bir API proxy'siyle ilişkili değil | İlgili API proxy'si belirtilen yoldaki istekleri kabul edecek şekilde yapılandırılmamış yazın. | Edge Herkese Açık ve Private Cloud kullanıcıları |
| API proxy'si bir ortamda dağıtılmıyor | İlgili API proxy'si, bulunduğunuz ortamda dağıtılmıyor yapmaya çalışıyor diyelim. | Edge Herkese Açık ve Private Cloud kullanıcıları |
| Ortam, Mesaj İşleyici'ye yüklenmedi | Belirli bir ortamda (API isteklerinde bulunmaya çalıştığınız ortam) bir hata nedeniyle Mesaj İşleyicilerine yüklenmiştir. | Edge Private Cloud kullanıcıları |
| API proxy'si bir veya daha fazla Mesaj İşleyicide dağıtılmadı | API proxy'si, eksik olduğu için bir veya daha fazla İleti İşleyicide dağıtılamıyor olabilir etkinlik bildirimi almalısınız. | Edge Private Cloud kullanıcıları |
Sık kullanılan teşhis adımları
NGINX ve İleti İşleyici günlükleri, 404 hatasının giderilmesinde yardımcı olacaktır.
Günlükleri kontrol etmek için aşağıdaki adımları uygulayın:
- Aşağıdaki komutu kullanarak NGINX günlüklerini görüntüleyin:
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log
- Günlük girişlerinde aşağıdaki alanları kontrol edin:
Alan Değer Upstream_status, status404X-Apigee-fault-codemessaging.adaptors.http.flow.ApplicationNotFoundGünlüklerdeki ileti kimliğini not edin.
- İleti İşleyici günlüklerini kontrol etme
(
/opt/apigee/var/log/edge-message-processor/logs/system.log)belirli API içinmessaging.adaptors.http.flow.ApplicationNotFoundkullanıyorsanız veya API isteği için 2. adımdaki mesaj kimliği.İleti İşleyici günlüğündeki örnek hata iletisi
NIOThread@1 ERROR ADAPTORS.HTTP.FLOW - AbstractRequestListener.onException() : Request:POST, uri:/weather, message Id:null, exception:com.apigee.rest.framework.ResourceNotFoundException{ code = messaging.adaptors.http.flow.ApplicationNotFound, message = Unable to identify proxy for host: vh1 and url: /weather, associated contexts = []}, context:Context@342ea86b input=ClientInputChannel(SSLClientChannel[Accepted: Remote:10.123.123.123:8443 Local:10.135.33.68:62092]@1206954 useCount=1 bytesRead=0 bytesWritten=0 age=1ms lastIO=0ms isOpen=true)
Yukarıdaki günlükte hata kodu gösterilmektedir. Hata mesajı şöyledir:
code = messaging.adaptors.http.flow.ApplicationNotFound, message = Unable to identify proxy for host: vh1 and url: /weather
Neden: API proxy'si ilgili sanal ana makineyle ilişkilendirilmemiş
API proxy'si ilgili sanal ana makineden gelen istekleri kabul edecek şekilde yapılandırılmamışsa
şu hata mesajını içeren bir 404 Not Found yanıtı alabiliriz:
Unable to identify proxy for host: VIRTUAL_HOST and url: PATH.
Teşhis
- API proxy'si için Proxy Uç Noktası yapılandırmasını kontrol edin ve API proxy'sinin
hatada belirtilen sanal ana makine için istekleri kabul edecek şekilde yapılandırıldı. Bu
VirtualHostöğesiyle gösterilir.ProxyEndpointörneğini inceleyelim en iyi uygulamaları görelim.API proxy'sinin güvenli sanal ana makine

- Sanal ana makinelerin belirli bir ortamda aşağıdaki gibi tanımlandığını varsayalım:
Ad Bağlantı noktası Ana Makine Takma Adı default80myorg-prod.apigee.netsecure443myorg-prod.apigee.net defaultVirtualHostiçin URL'yi kullanarak API isteğinde bulunursunuzhttp://myorg-prod.apigee.net/weatherProxyEndpoint, aşağıda gösterildiği gibidefaultVirtualHostiçermediğinden örnekte,404yanıt kodunu şu hata mesajıyla alıyorsunuz:{"fault":{"faultstring":"Unable to identify proxy for host: default and url: \/weather","detail":{"errorcode":"messaging.adaptors.http.flow.ApplicationNotFound"}}}- Bu sorunu gidermek için aşağıdaki Çözüm bölümüne gidin.
ProxyEndpoint,defaultüzerindeki istekleri kabul edecek şekilde yapılandırılmışsaVirtualHost, bir sonraki hedefe git - Yol herhangi bir API proxy'siyle ilişkili değil.
Çözünürlük
- Eksik
VirtualHostdeğeriniProxyEndpointyapılandırmasına ekleyin ve ele alacağız. Yukarıda gösterilen örnek için varsayılanVirtualHostdeğerini ekleyebilirsiniz. şu şekildeProxyEndpointyapılandırmasına uygulayın:<VirtualHost>default</VirtualHost>
Varsayılanı gösteren örnek Proxy Uç noktası yapılandırması> VirtualHost> ekleniyor

- Alternatif olarak, yukarıda bahsedilen örnekte yalnızca
Bu API proxy'si için
secureVirtualHost, ardından API isteklerini yapın HTTPS protokolü kullanılarak yalnızcasecureVirtualHost:https://myorg-prod.apigee.net/weather
Neden: API proxy'sinin yeni dağıtılan bir düzeltmesinde sanal ana makine kaldırıldı
Belirli bir sanal ana makine kaldırıldıktan sonra API proxy'sinin yeni bir revizyonu dağıtılırsa (bu, daha önce dağıtılan düzeltmenin bir parçasıydı) istemciler tarafından kullanılmaya devam ediyor. kullanırsanız bu soruna neden olabilir.
Teşhis
- API proxy'sinin şu anda etkin olup olmadığını görmek için API proxy'sinin Proxy Uç Noktası yapılandırmasını kontrol edin
hatada belirtilen sanal ana makine için istekleri kabul edecek şekilde yapılandırıldı. Bu
ProxyEndpointyapılandırmasındakiVirtualHostöğesi ile gösterilir. - Hatada belirtilen sanal ana makine
ProxyEndpointiçinde yoksa yapılandırmanın ardından aşağıdaki adımları uygulayın. Aksi takdirde, bir sonraki nedene gidin: Yol herhangi bir API proxy'siyle ilişkili değil. - Daha önce dağıtılan düzeltmenin
ProxyEndpointyapılandırmasını şu anki ile karşılaştır dağıtılan düzeltme.- Örneğin, daha önce dağıtılan düzeltmenizin
5olduğunu ve şu anda dağıtılmış olan düzeltme6:- 5. düzeltmedeki Proxy Uç Noktasında yapılandırılmış Sanal Ana Makineler
- 6. düzeltmedeki Proxy Uç Noktasında yapılandırılmış Sanal Ana Makineler
<HTTPProxyConnection> <BasePath>/weather</BasePath> <Properties/> <VirtualHost>vh1</VirtualHost> </HTTPProxyConnection><HTTPProxyConnection> <BasePath>/weather</BasePath> <Properties/> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> - Yukarıdaki örnekte
VirtualHost vh1,revision 5,içinde vardı ancakrevision 6ürününden kaldırılıpVirtualHost secureile değiştirildi. - Bu nedenle siz veya müşterileriniz
VirtualHost vh1(revision 5öğesinin bir parçasıydı) şunu alırsınız: Şu hata mesajını içeren404yanıt kodu:{"fault":{"faultstring":"Unable to identify proxy for host: vh1 and url: \/weather","detail":{"errorcode":"messaging.adaptors.http.flow.ApplicationNotFound"}}}
- Örneğin, daha önce dağıtılan düzeltmenizin
- Sanal ana makine değişikliğinin kasıtlı olarak yapılıp yapılmadığını kontrol edin. halihazırda dağıtılmış olan düzeltmede kasıtsız olarak Çözüm bölümünde açıklandığı şekilde gerekli önlemleri alın.
Çözünürlük
Sanal ana makinenin veya ana makinelerin yeni bir düzeltmede kaldırıldığını tespit ederseniz bu durum bilinçli olarak veya kaza. Her durumda, sorunu çözmek için aşağıdaki çözümü/önerilen adımları uygulayın.
1. Senaryo: Kasıtlı Değişim
Sanal ana makine kaldırma işlemini kasıtlı olarak yaptıysanız aşağıdakilerden birini seçebilirsiniz seçenekleri vardır.
- Farklı bir temel yola sahip yeni bir proxy oluşturma ve farklı bir sanal ana makine kullanma (bu, daha önce dağıtılan düzeltmede mevcut değildir).
-
Mevcut API proxy'sini kullanmaya devam etmek ancak farklı bir sanal ana makine kullanmak istiyorsanız mevcut sanal ana makineyi tutmak ve ilave sanal ana makine eklemek daha iyidir.
Bu sayede, ilgili API proxy'si kullanıcıları değişiklikten etkilenmez.
Mevcut API proxy'sini kullanmak ve yalnızca farklı bir sanal ana makineye sahip olmak istiyorsanız kullanıcılarınızı önceden bilgilendirin ve bakım döneminde bu değişikliği yapın.
Böylece, söz konusu API proxy'sini kullananlar bu değişiklikten haberdar olur ve bu API proxy'sine çağrı yapmak için farklı bir sanal ana makine kullanabilir. Dolayısıyla, değişiklikten etkilenmeyeceğini belirtir.
2. Senaryo: İstemsiz Değişim
Sanal ana makine kaldırma işleminin yanlışlıkla ve bilinçli olarak yapılmaması durumunda aşağıdakileri yapın:
- Şu anda dağıtılmış olan düzeltmedeki
ProxyEndpointyapılandırmasını daha önce dağıtılan düzeltmede kullanılanlarla aynı sanal ana makineler arasındadır. aşağıdaki bölümü değiştirin:<HTTPProxyConnection> <BasePath>/weather</BasePath> <Properties/> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection>-
<HTTPProxyConnection> <BasePath>/weather</BasePath> <Properties/> <VirtualHost>vh1</VirtualHost> </HTTPProxyConnection> - Düzeltmeyi yeniden dağıtın.
En iyi uygulamalar
Bakım süresince her zaman yeni proxy'lerin veya yeni revizyonların dağıtılması önerilir dağıtım sırasında ortaya çıkan herhangi bir sorunun gerçekleşebileceği şekilde, trafiğin en az veya trafik üzerindeki etkisi en aza indirilebilir.
Neden: Yol herhangi bir API proxy'si ile ilişkilendirilmemiş
API proxy'si, bağlantıda kullanılan belirli yola ilişkin istekleri kabul edecek şekilde yapılandırılmamışsa
API İstek URL'si ise hata mesajıyla birlikte bir 404 Not Found yanıtı alabiliriz.
Unable to identify proxy for host: VIRTUAL_HOST and url: PATH.
Teşhis
- Amaçladığınız API proxy'si için
ProxyEndpointyapılandırmasına bakın API isteklerinde bulunun. - API proxy'sinin belirtilen yol için istekleri kabul edecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin yazın. Bunu yapmak için 1. Senaryo ve 2. senaryo.
1. Senaryo: Yol, API proxy'sinin temel yoluyla eşleşmiyor
- Hata mesajında belirtilen
path,basepathile aynı değilse API proxy'si veyabasepathile başlamazsa bu hatanın nedeni olabilir. - Bunu açıklamak için bir örnek verelim:
- Amaçlanan API proxy'sinin
basepathdeğeri/weather - API İsteği URL'si:
https://myorg-prod.apigee.net/climate. Bunun anlamı, API isteği URL'sinde kullanılan yol:/climate. - Bu örnekte,
path,basepathile aynı değildir vebasepathile başlamaz. Bu nedenle şu hatayı alırsınız:{ "fault":{ "faultstring":"Unable to identify proxy for host: secure and url: \/climate", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }
Çözünürlük
- API istek URL'nizde kullanılan
pathdeğerininbasepathile aynı olduğundan emin olun tercih edebilirsiniz. - Yukarıdaki örnekte, API İstek URL'si aşağıdaki gibi olmalıdır:
{ https://myorg-prod.apigee.net/weather
2. Senaryo: Yol, kullanılabilir koşullu akışlardan hiçbiriyle eşleşmiyor
- API İstek URL'sinde kullanılan
path,basepathile başlıyorsapath suffix(basepath), akışı söz konusu olursa bu,404hatasına neden olabilir. - Bunu açıklamak için bir örnek verelim:
- Amaçlanan API proxy'sinin
basepathdeğeri/weather - API İsteği URL'si:
https://myorg-prod.apigee.net/weather/Delhi. Bunun anlamı şudur: API isteği URL'sinde kullanılan yol/weather/Delhi.
- Amaçlanan API proxy'sinin
- Bu örnekte
path,basepath/weatherile başlıyor. Ayrıcapath suffix/Delhideğerine sahip. - Şimdi
ProxyEndpointiçinde koşullu akış olup olmadığını kontrol edin. - Koşullu akış yoksa veya koşullu olmayan birkaç akış varsa sonraki neden - API proxy'si bir ortamda dağıtılmıyor.
ProxyEndpointyalnızca koşullu akışlara sahipse aşağıdakileri kontrol edin:- Tüm bu koşullu akışların koşulları, belirli bir
proxy.pathsuffix(temel yoldan sonraki yol). - API İstek URL'sinde belirtilen
path suffix, bu durum hatanın nedenidir.
- Tüm bu koşullu akışların koşulları, belirli bir
ProxyEndpointiçinde iki akışımız olduğunu varsayalım ve her ikisinin de koşullu akışlar vardır:<Condition>(proxy.pathsuffix MatchesPath "/Bangalore") and (request.verb = "GET")</Condition> <Condition>(proxy.pathsuffix MatchesPath "/Chennai") and (request.verb = "GET")</Condition>
- Yukarıdaki örnekte, biri eşleşen
proxy.pathsuffix(temel yoldan sonraki yol) ile/Bangaloreve diğeri/Chennaiile eşleşiyor. Ancak/Delhiile eşleşen yok Bu, API İstek URL'sinde geçirilenpath suffixdeğeridir. 404hatasının nedeni budur. Bu nedenle şu hatayı alırsınız:{ "fault":{ "faultstring":"Unable to identify proxy for host: secure and url: \/weather\/Delhi", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }
- Yukarıdaki örnekte, biri eşleşen
Çözünürlük
path suffixöğesinin, proxy uç noktanızdaki koşullu akışlardan en az biriyle eşleştiğinden emin olun.- Yukarıdaki örnekte, hatayı gidermek için aşağıdaki yaklaşımlardan yararlanabilirsiniz:
/Delhiyolunda belirli bir politika grubunu yürütmek isterseniz Ardından gerekli politika grubuyla ayrı bir akış ekleyin ve aşağıdaki gibi/proxy.pathsuffix/Delhiile eşleşen:<Condition>(proxy.pathsuffix MatchesPath "/Delhi") and (request.verb = "GET")</Condition>
/Delhiyolu için ortak politika grubunu uygulamak istiyorsanız genel akışa izin veren bir koşul olduğundan emin olun./proxy.pathsuffix. Yani,basepathetiketinden sonraki her yola izin verir Aşağıda gösterildiği gibi/weather:<Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET")</Condition>
ProxyEndpoint, API URL'sinde doğru basepath ve path suffix değerini belirtiyorsa
koşullu akışlardan biriyle eşleştiğini ve ardından bir sonraki nedene geçer.
API proxy'si bir ortamda dağıtılmıyor.
Neden: API proxy'si bir ortamda dağıtılmadı
Teşhis
- API istek URL'nizde kullanılan ana makine takma adının bulunduğu ortamı belirleyin.
Bu işlem, ortamların her birindeki tüm sanal ana makinelerin ayrıntılarını kontrol edilerek yapılabilir.
kuruluşunuzun fark etmelerinden haberdar olmanız gerekir.
Örneğin, aşağıdaki yapılandırmayı varsayalım:
- Eğer
http://myorg-prod.apigee.net/weather. URL'niz isemyorg-prod.apigee.net, ana makine takma adıdır. myorg-prod.apigee.netana makine takma adı, kuruluşunuzunprodortamındaki sanal ana makineler.
- Eğer
- İlgili API proxy'sinin şurada belirlenen belirli bir ortamda dağıtılıp dağıtılmadığını kontrol edin: Yukarıdaki 1. adıma bakın.
- API proxy'si belirli bir ortamda dağıtılmazsa
404hatası.- Yukarıdaki 1. adımda kullanılan örnekte API proxy'sinin
prodortamı söz konusuysa hatanın nedeni budur. - Aşağıdaki Çözünürlük bölümüne gidin.
- Yukarıdaki 1. adımda kullanılan örnekte API proxy'sinin
- API proxy'si belirli bir ortamda dağıtılmışsa sonraki nedene gidin: Ortam, mesaj işlemcilerinde yüklenmedi.
Çözünürlük
API proxy'sini, API isteklerinde bulunmak istediğiniz belirli bir ortama dağıtın.
Neden: Ortam, İleti İşleyenlerine yüklenmedi
Teşhis
- İleti İşleyicilerin her birine giriş yapın ve iletileriniz üzerinde çalıştığınız belirli bir ortamın
aşağıdaki komutu kullanarak API isteğinin Mesaj İşleyici'ye yüklenmesini sağlayabilir:
curl -v 0:8082/v1/runtime/organizations/<orgname>/environments
- Söz konusu ortam yukarıdaki komutun parçası olarak listeleniyorsa sonraki nedene gidin: API proxy'si bir veya daha fazla Mesaj İşleyicide dağıtılmadı.
- Söz konusu ortam listede yoksa
/opt/apigee/var/log/edge-message-processor/logs/system.logve/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.logOrtamların yüklenmesi sırasında oluşan hatalar için Mesaj İşlemcileri. - Mesaj İşleyen. Çözüm oluşan hataya bağlıdır.
Çözünürlük
Ortam, birçok nedenden dolayı Mesaj İşleyici'ye yüklenmeyebilir. Bu bölüm bu soruna yol açabilecek birkaç olası nedeni gösteriyor ve düşünmesi gerekir.
-
İleti İşleyen günlüğünde aşağıdaki hatalardan birini görürseniz bunun nedeni bir belirtilen anahtar deposuna/güvenilir depoya eklenen sertifikalarla/anahtarlarla ilgili sorun bulundu belirtilen ortamda gönderin.
Hata 1: java.security.KeyStoreException: Kendi sertifikanın üzerine yazılamaz
2018-01-30 12:04:38,248 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mycert in key store : mytruststore in environment : test at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.AbstractConfigurator.propagateEvent(AbstractConfigurator.java:85) ~[config-entities-1.0.0.jar:na] at com.apigee.messaging.runtime.Environment.handleUpdate(Environment.java:238) [message-processor-1.0.0.jar:na] … Caused by: java.security.KeyStoreException: Cannot overwrite own certificate at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:355) ~[sunjce_provider.jar:1.8.0_151] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_151] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na]
... 20 common frames omitted2018-01-30 12:04:38,250 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
Hata 2: java.security.KeyStoreException: Gizli anahtarın üzerine yazılamıyor
2017-11-01 03:28:47,560 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mstore in key store : myTruststore in environment : dev at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] ... Caused by: java.security.KeyStoreException: Cannot overwrite secret key at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:354) ~[sunjce_provider.jar:1.8.0_144] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_144] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2017-11-01 03:28:47,562 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
-
önceki adımına geçmek için aşağıdaki management API çağrısını kullanın:
curl -v "http://<management-IPaddress>:8080/v1/organizations/<org-name>/environments/<env-name>/keystores/myTruststore" -u <user>
Örnek çıkış:
{ "certs":[ "mycert", "mycert-new" ], "keys":[ "mycert" ], "name":"myTruststore" } - Örnek çıktı, güven deposunda iki sertifika ve bir anahtar olduğunu gösteriyor
myTruststoreTruststore genellikle bir anahtar içermez. Böyle bir durumda, tek bir sertifika ve tek bir anahtara sahip olmak daha iyidir. - Aşağıdaki API'yi kullanarak iki sertifikayla ilgili ayrıntıları öğrenin:
curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
- Her sertifikanın geçerlilik bitiş tarihini kontrol edin ve süresi dolmuş/eski sertifikayı belirleyin.
- Süresi dolmuş veya istenmeyen sertifikayı
myTruststoregüven deposundan silin.
Sorun devam ederse veya 1. adımda belirtilenler dışında bir hata görürseniz Yukarıdaki Teşhis bilgileri toplanmalıdır'a gidin.
Neden: API proxy'si değil bir veya daha fazla Mesaj İşlemcisine dağıtılarak
API proxy'si, bir veya daha fazla Mesaj İşleyiciye dağıtılamaz. Bu sorun, nadiren ve çoğunlukla Yönetim Sunucusu’ndan gelen ve Belirli API proxy'sinin dağıtımı sırasında İleti İşleyici. Bu durumda ayrıca, Edge kullanıcı arayüzünde izleme oturumu oluşturulamıyor.
Teşhis
- İleti İşlemcilerinin her birine giriş yapın ve
API proxy'si şu komut kullanılarak dağıtıldı veya kullanılmıyor:
curl -v 0:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
- API proxy'sinin ilgili düzeltmesi, komutun çıkışı olarak görünmüyorsa seçin, ardından ilgili Mesaj İşleyici'yi aşağıda açıklandığı şekilde yeniden başlatın: Çözüm.
- Tüm Mesaj İşleyicileri için 1-2. adımları tekrarlayın.
- API proxy'sinin ilgili düzeltmesi tüm Mesaj İşleyicilerine dağıtıldıysa Bu sorunun nedeni bu değildir. sayfasına gidin. Teşhis bilgileri toplanmalıdır.
Çözünürlük
API proxy'sinin ilgili revizyonunun uygulanacağı Mesaj İşleyicileri yeniden başlatın. dağıtılmadı.
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
API Monitoring'i kullanarak sorunları teşhis etme
API İzleme, sorunlu alanları hızlı bir şekilde izole etmenizi sağlar hata, performans ve gecikme sorunlarını ve bunların kaynağını (ör. geliştirici uygulamaları) teşhis etmek için API proxy'leri, arka uç hedefleri veya API platformu.
Bu sorun için API Monitoring > İnceleme sayfası ve uygun tarihi, proxy'yi ve benzeri öğeleri seçtiğinizde aşağıdaki ayrıntıları görebilirsiniz:
- Hata Kodu:
messaging.adaptors.http.flow.ApplicationNotFound - Durum Kodu:
404 - Hata Kaynağı:
ApigeeveyaMP
Ayrıca, yukarıdaki ekran görüntüsünde gösterildiği gibi Günlükleri görüntüle'yi tıklayıp daha ayrıntılı bilgi edinebilirsiniz.

Örnek senaryoda ilerle
API Monitoring'i kullanarak API'lerinizle ilgili 5xx sorunlarını giderin. Örneğin, eğitime
404 durum kodlarının sayısı
karar verebilirsiniz.
Teşhis bilgileri toplanmalıdır
Yukarıdaki talimatları uygulamanıza rağmen sorun devam ederse teşhis bilgilerini ele alalım. Apigee Edge Destek Ekibi ile iletişime geçip bu bilgileri paylaşın.
- Herkese Açık Bulut kullanıcısıysanız aşağıdaki bilgileri sağlayın:
- Kuruluş adı
- Ortam adı
- API proxy'si adı
- Hatayı yeniden oluşturmak için curl komutunu tamamlayın
- Private Cloud kullanıcısıysanız aşağıdaki bilgileri sağlayın:
- Tam hata mesajı görüntülendi
- Ortam adı
- API proxy paketi
- Mesaj İşleyici günlükleri
/opt/apigee/var/log/edge-message-processor/logs/system.log - Mesaj İşleyicilerin her birinde aşağıdaki komutların çıkışı.
curl -v 0:8082/v1/runtime/organizations/<orgname>/environments
curl -v 0:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions - Bu başucu kitabının hangi bölümlerini denediğiniz ve sizin de başarılı olduğunuz bu sorunu hızlıca çözmemize yardımcı olacaktır.