Problemi noti di Apigee

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Le sezioni seguenti descrivono i problemi noti di Apigee. Nella maggior parte dei casi, i problemi elencati verranno risolti in una release futura.

Problemi noti vari di Edge

Le sezioni seguenti descrivono vari problemi noti di Edge.

Area/Riepilogo Problemi noti
La scadenza della cache genera un valore cachehit errato

Quando la variabile di flusso cachehit viene utilizzata dopo il criterio LookupCache, a causa del modo in cui vengono inviati i punti di debug per il comportamento asincrono, LookupPolicy compila l'oggetto DebugInfo prima dell'esecuzione del callback, generando un errore.

Soluzione:ripeti la procedura (effettua la seconda chiamata) subito dopo la prima chiamata.

L'impostazione del criterio InvalidateCache PurgeChildEntries su true non funziona correttamente

L'impostazione di PurgeChildEntries nel criterio InvalidateCache dovrebbe eliminare solo i valori dell'elemento KeyFragment, ma cancella l'intera cache.

Soluzione alternativa: utilizza il criterio KeyValueMapOperations per eseguire l'iterazione del versionamento della cache e aggirare la necessità di annullare la convalida della cache.

Le richieste di deployment contemporanee per un proxy API o SharedFlow possono comportare uno stato incoerente nel server di gestione in cui vengono mostrate più revisioni come di cui è stato eseguito il deployment.

Questo può accadere, ad esempio, quando vengono eseguite in modo simultaneo pipeline di deployment CI/CD utilizzando revisioni diverse. Per evitare questo problema, evita di eseguire il deployment di proxy API o SharedFlow prima del completamento dell'attuale deployment.

Soluzione alternativa:evita i deployment simultanei di proxy API o SharedFlow.

I conteggi delle chiamate API mostrati in Edge API Analytics potrebbero contenere dati duplicati.

A volte Edge API Analytics può contenere dati duplicati per le chiamate API. In questo caso, i conteggi mostrati per le chiamate API in Edge API Analytics sono superiori ai valori paragonabili mostrati negli strumenti di analisi di terze parti.

Soluzione alternativa: esporta i dati di analisi e utilizza il campo gateway_flow_id per deduplicare i dati.

Problemi noti con l'interfaccia utente di Edge

Le sezioni seguenti descrivono i problemi noti relativi all'interfaccia utente di Edge.

Area Problemi noti
Impossibile accedere alla pagina di amministrazione della zona SSO di Edge dalla barra di navigazione dopo che l'organizzazione è stata mappata a una zona di identità Quando colleghi un'organizzazione a una zona di identità, non puoi più accedere alla pagina di amministrazione della zona SSO di Edge dalla barra di navigazione di sinistra selezionando Amministrazione > SSO. Come soluzione alternativa, vai direttamente alla pagina utilizzando il seguente URL: https://apigee.com/sso

Problemi noti relativi al portale integrato

Le sezioni seguenti descrivono i problemi noti del portale integrato.

Area Problemi noti
SmartDocs
  • Apigee Edge supporta la specifica OpenAPI 3.0 quando crei specifiche utilizzando l'editor delle specifiche e pubblichi API utilizzando SmartDocs sul tuo portale, anche se un sottoinsieme di funzionalità non è ancora supportato.

    Ad esempio, le seguenti funzionalità della specifica OpenAPI 3.0 non sono ancora supportate:

    • Proprietà allOf per combinare ed estendere gli schemi
    • Riferimenti remoti

    Se nella specifica OpenAPI viene fatto riferimento a una funzionalità non supportata, in alcuni casi gli strumenti la ignorano, ma visualizzano comunque la documentazione di riferimento dell'API. In altri casi, una funzionalità non supportata causerà errori che impediscono il rendering corretto della documentazione di riferimento dell'API. In entrambi i casi, dovrai modificare la specifica OpenAPI per evitare di utilizzare la funzionalità non supportata finché non sarà supportata in una release futura.

    Nota: poiché l'editor delle specifiche è meno restrittivo di SmartDocs durante il rendering della documentazione di riferimento dell'API, potresti riscontrare risultati diversi tra gli strumenti.

  • Quando utilizzi Prova questa API nel portale, l'intestazione Accept è impostata su application/json indipendentemente dal valore impostato per consumes nella specifica OpenAPI.
  • 138438484: Non sono supportati più server.
Provider di identità SAML La disconnessione singola (SLO) con il provider di identità SAML non è supportata per i domini personalizzati. Per attivare un dominio personalizzato con un provider di identità SAML, lascia vuoto il campo URL di disconnessione quando configuri le impostazioni SAML.
Amministratore del portale
  • Al momento non sono supportati gli aggiornamenti simultanei del portale (ad esempio modifiche a pagine, temi, CSS o script) da parte di più utenti.
  • Se elimini una pagina di documentazione di riferimento dell'API dal portale, non è possibile ricrearla. Dovrai eliminare e aggiungere nuovamente il prodotto API e rigenerare la documentazione di riferimento dell'API.
  • Quando configuri i criteri di sicurezza dei contenuti, l'applicazione completa delle modifiche può richiedere fino a 15 minuti.
  • Quando personalizzi il tema del portale, l'applicazione completa delle modifiche potrebbe richiedere fino a 5 minuti.
Funzionalità del portale
  • La ricerca verrà integrata nel portale integrato in una versione futura.

Problemi noti di Edge for Private Cloud

Le sezioni seguenti descrivono i problemi noti di Edge for Private Cloud.

Area Problemi noti
Edge for Private Cloud 4.53.00 412696630: Impossibile caricare i keystore all'avvio

Il componente edge-message-processor potrebbe non riuscire a caricare in modo intermittente uno o più keystore all'avvio, causando errori di traffico quando il keystore viene utilizzato da un proxy API. Il riavvio del componente edge-message-processor di solito risolve il problema.

Edge for Private Cloud 4.53.00 Callout Java

I callout Java personalizzati che tentano di caricare il provider di crittografia Bouncy Castle utilizzando il nome "BC" potrebbero non riuscire perché il provider predefinito è stato modificato in Bouncy Castle FIPS per supportare FIPS. Il nuovo nome del fornitore da utilizzare è "BCFIPS".

Aggiornamento Mint di Edge for Private Cloud 4.52.01

Questo problema riguarda solo gli utenti che utilizzano MINT o che hanno attivato MINT in Edge per le installazioni di Private Cloud.

Componente interessato: edge-message-processor

Problema: se hai attivato la monetizzazione e stai installando la versione 4.52.01 come installazione pulita o stai eseguendo l'upgrade da versioni precedenti di Private Cloud, si verifica un problema con i processori di messaggi. Si verificherà un aumento graduale del numero di thread aperti, con conseguente esaurimento delle risorse. Nel file system.log di edge-message-processor viene visualizzata la seguente eccezione:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Vulnerabilità HTTP/2 di Apigee

Di recente è stata scoperta una vulnerabilità Denial of Service (DoS) in più implementazioni del protocollo HTTP/2 (CVE-2023-44487), inclusa Apigee Edge per Private Cloud. La vulnerabilità potrebbe causare un attacco DoS alla funzionalità di gestione delle API Apigee. Per maggiori dettagli, consulta il bollettino sulla sicurezza di Apigee GCP-2023-032.

I componenti router e server di gestione di Edge for Private Cloud sono esposti a internet e possono essere potenzialmente vulnerabili. Sebbene HTTP/2 sia abilitato sulla porta di gestione di altri componenti specifici di Edge di Edge for Private Cloud, nessuno di questi componenti è esposto a internet. Sui componenti non Edge, come Cassandra, Zookeeper e altri, HTTP/2 non è abilitato. Ti consigliamo di procedere come segue per risolvere la vulnerabilità di Edge for Private Cloud:

Segui questi passaggi se utilizzi Edge Private Cloud versione 4.51.00.11 o successive:

  1. Aggiorna il server di gestione:

    1. Su ogni nodo del server di gestione, apri /opt/apigee/customer/application/management-server.properties
    2. Aggiungi questa riga al file delle proprietà:
      conf_webserver_http2.enabled=false
    3. Riavvia il componente del server di gestione:
      apigee-service edge-management-server restart
  2. Aggiorna il processore di messaggi:

    1. Su ogni nodo del processore di messaggi, apri /opt/apigee/customer/application/message-processor.properties
    2. Aggiungi questa riga al file delle proprietà:
      conf_webserver_http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-message-processor restart
  3. Aggiorna il router:

    1. Su ogni nodo del router, apri /opt/apigee/customer/application/router.properties
    2. Aggiungi questa riga al file delle proprietà:
      conf_webserver_http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-router restart
  4. Aggiorna QPID:

    1. Su ogni nodo QPID, apri /opt/apigee/customer/application/qpid-server.properties
    2. Aggiungi questa riga al file delle proprietà:
      conf_webserver_http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-qpid-server restart
  5. Aggiorna Postgres:

    1. Su ogni nodo Postgres, apri /opt/apigee/customer/application/postgres-server.properties
    2. Aggiungi questa riga al file delle proprietà:
      conf_webserver_http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-postgres-server restart

Segui questi passaggi se utilizzi Edge for Private Cloud versioni precedenti alla 4.51.00.11:

  1. Aggiorna il server di gestione:

    1. Su ogni nodo del server di gestione, apri /opt/apigee/customer/application/management-server.properties
    2. Aggiungi le seguenti due righe al file delle proprietà:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Riavvia il componente del server di gestione:
      apigee-service edge-management-server restart
  2. Aggiorna il processore di messaggi:

    1. Su ogni nodo del processore di messaggi, apri /opt/apigee/customer/application/message-processor.properties
    2. Aggiungi le seguenti due righe al file delle proprietà:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-message-processor restart
  3. Aggiorna il router:

    1. Su ogni nodo del router, apri /opt/apigee/customer/application/router.properties
    2. Aggiungi le seguenti due righe al file delle proprietà:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-router restart
  4. Aggiorna QPID:

    1. Su ogni nodo QPID, apri /opt/apigee/customer/application/qpid-server.properties
    2. Aggiungi le seguenti due righe al file delle proprietà:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-qpid-server restart
  5. Aggiorna Postgres:

    1. Su ogni nodo Postgres, apri /opt/apigee/customer/application/postgres-server.properties
    2. Aggiungi le seguenti due righe al file delle proprietà:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Riavvia il componente del processore di messaggi:
      apigee-service edge-postgres-server restart
Upgrade di Postgresql durante l'aggiornamento alla versione 4.52

Apigee-postgresql ha problemi con l'upgrade da Edge for Private Cloud versione 4.50 o 4.51 alla versione 4.52. I problemi si verificano principalmente quando il numero di tabelle è superiore a 500.

Puoi controllare il numero totale di tabelle in Postgres eseguendo la query SQL riportata di seguito:

select count(*) from information_schema.tables

Soluzione alternativa:quando esegui l'aggiornamento di Apigee Edge 4.50.00 o 4.51.00 alla versione 4.52.00, assicurati di eseguire il passaggio preliminare prima di eseguire l'upgrade di Apigee-postgresql.

Criterio LDAP

149245401: Le impostazioni del pool di connessioni LDAP per JNDI configurate tramite la risorsa LDAP non vengono applicate e i valori predefiniti di JNDI causano connessioni monouso ogni volta. Di conseguenza, le connessioni vengono aperte e chiuse ogni volta per un singolo utilizzo, creando un numero elevato di connessioni all'ora al server LDAP.

Soluzione temporanea:

Per modificare le proprietà del pool di connessioni LDAP, segui i passaggi riportati di seguito per impostare una modifica globale in tutte le policy LDAP.

  1. Crea un file delle proprietà di configurazione se non esiste già:
    /opt/apigee/customer/application/message-processor.properties
  2. Aggiungi quanto segue al file (sostituisci i valori delle proprietà JNDI (Java Naming and Directory Interface) in base al requisito di configurazione della risorsa LDAP).
    bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
    -Dcom.sun.jndi.ldap.connect.pool.prefsize=2
    -Dcom.sun.jndi.ldap.connect.pool.initsize=2
    -Dcom.sun.jndi.ldap.connect.pool.timeout=120000
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
  3. Assicurati che il file /opt/apigee/customer/application/message-processor.properties sia di proprietà di apigee:apigee.
  4. Riavvia ogni processore di messaggi.

Per verificare che le proprietà JNDI del pool di connessioni siano effettive, puoi eseguire un tcpdump per osservare il comportamento del pool di connessioni LDAP nel tempo.

Latenza elevata di elaborazione delle richieste

139051927: Le latenze di elaborazione del proxy elevate rilevate nel processore di messaggi interessano tutti i proxy API. I sintomi includono ritardi di 200-300 ms nei tempi di elaborazione rispetto ai tempi di risposta normali dell'API e possono verificarsi in modo casuale anche con un TPS basso. Ciò può verificarsi quando più di 50 server di destinazione in cui un processore di messaggi stabilisce connessioni.

Causa principale: I processori di messaggi conservano una cache che mappa l'URL del server di destinazione all'oggetto HTTPClient per le connessioni in uscita ai server di destinazione. Per impostazione predefinita, questa impostazione è impostata su 50, un valore troppo basso per la maggior parte dei deployment. Quando una distribuzione ha più combinazioni di organizzazione/ambiente in una configurazione e un numero elevato di server di destinazione che superano i 50 in totale, gli URL dei server di destinazione vengono continuamente rimossi dalla cache, causando latenze.

Convalida:Per determinare se l'eliminazione dell'URL del server di destinazione sta causando il problema di latenza, cerca nei log di sistema del processore di messaggi la parola chiave "onEvict" o "Eviction". La loro presenza nei log indica che gli URL del server di destinazione vengono eliminati dalla cache HTTPClient perché le dimensioni della cache sono troppo piccole.

Soluzione alternativa: Per Edge for Private Cloud versioni 19.01 e 19.06, puoi modificare e configurare la cache HTTPClient, /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

Quindi riavvia il processore di messaggi. Apporta le stesse modifiche per tutti i processori di messaggi.

Il valore 500 è un esempio. Il valore ottimale per la configurazione deve essere maggiore del numero di server di destinazione a cui si connette il processore di messaggi. Non ci sono effetti collaterali dall'impostazione di questa proprietà su un valore più alto e l'unico effetto sarebbe un miglioramento dei tempi di elaborazione delle richieste proxy del processore di messaggi.

Nota:Edge per Private Cloud versione 50.00 ha l'impostazione predefinita di 500.

Più voci per le mappe chiave-valore

157933959: Inserimenti e aggiornamenti simultanei nella stessa mappa chiave-valore (KVM) con ambito a livello di organizzazione o ambiente causano dati incoerenti e aggiornamenti persi.

Nota: questa limitazione si applica solo a Edge per Private Cloud. Edge per il cloud pubblico e ibrido non presenta questa limitazione.

Per una soluzione alternativa in Edge for Private Cloud, crea il KVM nell'ambito apiproxy.