Bekannte Probleme mit Apigee

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X
info

In den folgenden Abschnitten werden die bekannten Probleme mit Apigee beschrieben. In den meisten Fällen werden die aufgeführten Probleme in einer zukünftigen Version behoben.

Sonstige bekannte Probleme mit Edge

In den folgenden Abschnitten werden verschiedene bekannte Probleme mit Edge beschrieben.

Bereich/Zusammenfassung Bekannte Probleme
Das Ablaufen des Caches führt zu einem falschen cachehit-Wert

Wenn die Ablaufvariable cachehit nach der LookupCache-Richtlinie verwendet wird, füllt die LookupPolicy das DebugInfo-Objekt aufgrund der Art und Weise, wie Debugpunkte für das asynchrone Verhalten gesendet werden, aus, bevor der Rückruf ausgeführt wurde. Dies führt zu einem Fehler.

Problemumgehung:Wiederholen Sie den Vorgang (führen Sie einen zweiten Anruf aus) direkt nach dem ersten Anruf.

Die InvalidateCache-RichtliniePurgeChildEntries funktioniert nicht richtig, wenn sie auf „wahr“ gesetzt wird

Wenn Sie PurgeChildEntries in der InvalidateCache-Richtlinie festlegen, sollten nur die Werte des KeyFragment-Elements gelöscht werden. Stattdessen wird jedoch der gesamte Cache geleert.

Umgehung:Verwenden Sie die KeyValueMapOperations-Richtlinie, um die Cache-Versionierung zu iterieren und die Cache-Entwertung zu umgehen.

Gleichzeitige Bereitstellungsanfragen für einen SharedFlow oder API-Proxy können zu einem inkonsistenten Zustand im Verwaltungsserver führen, wenn mehrere Revisionen als bereitgestellt angezeigt werden.

Dies kann beispielsweise der Fall sein, wenn eine CI/CD-Bereitstellungspipeline gleichzeitig mit verschiedenen Überarbeitungen ausgeführt wird. Um dieses Problem zu vermeiden, sollten Sie keine API-Proxys oder SharedFlows bereitstellen, bevor die aktuelle Bereitstellung abgeschlossen ist.

Problemumgehung:Vermeiden Sie gleichzeitige API-Proxy- oder SharedFlow-Bereitstellungen.

Die Anzahl der API-Aufrufe, die in Edge API Analytics angezeigt wird, kann doppelte Daten enthalten.

Edge API Analytics kann manchmal doppelte Daten für API-Aufrufe enthalten. In diesem Fall sind die in Edge API Analytics für API-Aufrufe angezeigten Werte höher als die vergleichbaren Werte in Analysetools von Drittanbietern.

Umgehung: Exportieren Sie die Analysedaten und verwenden Sie das Feld gateway_flow_id, um die Daten zu deduplizieren.

Bekannte Probleme mit der Edge-UI

In den folgenden Abschnitten werden bekannte Probleme mit der Edge-UI beschrieben.

Gebiet Bekannte Probleme
Auf die Seite der Edge SSO Zone Administration kann nicht über die Navigationsleiste zugegriffen werden, nachdem die Organisation einer Identitätszone zugeordnet wurde Wenn Sie eine Organisation mit einer Identitätszone verbinden, können Sie nicht mehr auf die Seite "Edge SSO Zone Administration" in der linken Navigationsleiste zugreifen. Wählen Sie dazu "Admin" > "SSO" aus. Sie können das Problem umgehen, indem Sie mit der folgenden URL direkt die Seite aufrufen: https://apigee.com/sso

Bekannte Probleme mit dem integrierten Portal

In den folgenden Abschnitten werden die bekannten Probleme mit dem integrierten Portal beschrieben.

Gebiet Bekannte Probleme
SmartDocs
  • Apigee Edge unterstützt OpenAPI-Spezifikation 3.0, wenn Sie Spezifikationen mit dem Spezifikationseditor erstellen und APIs mit SmartDocs auf Ihrem Portal veröffentlichen. Eine Teilmenge der Funktionen wird jedoch noch nicht unterstützt.

    Die folgenden Features aus der OpenAPI-Spezifikation 3.0 werden beispielsweise noch nicht unterstützt:

    • allOf-Attribute zum Kombinieren und Erweitern von Schemas
    • Remote-Referenzen

    Wenn in Ihrer OpenAPI-Spezifikation auf eine nicht unterstützte Funktion verwiesen wird, ignorieren die Tools die Funktion in einigen Fällen, rendern aber trotzdem die API-Referenzdokumentation. In anderen Fällen führt eine nicht unterstützte Funktion zu Fehlern, die das erfolgreiche Rendern der API-Referenzdokumentation verhindern. In beiden Fällen müssen Sie Ihre OpenAPI-Spezifikation ändern, um die Verwendung der nicht unterstützten Funktion zu verhindern, bis sie in einer zukünftigen Version unterstützt wird.

    Hinweis: Da der Spezifikationseditor beim Rendern von API-Referenzdokumenten weniger restriktiv ist als SmartDocs, können die Ergebnisse zwischen den Tools unterschiedlich ausfallen.

  • Wenn Sie diese API im Portal testen, wird der Accept-Header auf application/json gesetzt, unabhängig von dem für consumes in der OpenAPI-Spezifikation festgelegten Werts.
  • 138438484: Mehrere Server werden nicht unterstützt.
SAML-Identitätsanbieter Die einmalige Abmeldung (SLO) mit dem SAML-Identitätsanbieter wird für benutzerdefinierte Domains nicht unterstützt. Wenn Sie eine benutzerdefinierte Domain mit einem SAML-Identitätsanbieter aktivieren möchten, lassen Sie das Feld Abmelde-URL leer, wenn Sie die SAML-Einstellungen konfigurieren.
Portal-Administrator
  • Gleichzeitige Aktualisierung von Portalen (z. B. Seite, Design, CSS oder Skriptänderungen) wird von mehreren Nutzern derzeit nicht unterstützt.
  • Wenn Sie eine API-Referenzdokumentationsseite aus dem Portal löschen, gibt es keine Möglichkeit, sie neu zu erstellen; Sie müssen das API-Produkt löschen und neu hinzufügen und die API-Referenzdokumentation neu generieren.
  • Wenn Sie die Content Security Policy konfigurieren, kann es bis zu 15 Minuten dauern, bis die Änderungen vollständig übernommen werden.
  • Bei der Anpassung des Portaldesign kann es bis zu 5 Minuten dauern, bis die Änderungen vollständig übernommen werden.
Portalfunktionen
  • Die Suche wird in einer zukünftigen Version in das integrierte Portal integriert.

Bekannte Probleme mit Edge for Private Cloud

In den folgenden Abschnitten werden bekannte Probleme mit Edge for Private Cloud beschrieben.

Gebiet Bekannte Probleme
Edge for Private Cloud 4.53.00 412696630: Fehler beim Laden von Keystores beim Start

Die Komponente edge-message-processor kann beim Starten zeitweise einen oder mehrere Keystores nicht laden. Dies führt zu Traffic-Fehlern, wenn der Keystore von einem API-Proxy verwendet wird. In der Regel wird das Problem durch einen Neustart der edge-message-processor-Komponente behoben.

Edge for Private Cloud 4.53.00 Java-Callouts

Kundenspezifische Java-Callouts, die versuchen, den Bouncy Castle-Kryptografieanbieter mit dem Namen „BC“ zu laden, schlagen möglicherweise fehl, da der Standardanbieter zur Unterstützung von FIPS in Bouncy Castle FIPS geändert wurde. Der neue Name des Anbieters lautet „BCFIPS“.

Edge for Private Cloud 4.52.01 Mint-Update

Dieses Problem betrifft nur Nutzer, die MINT verwenden oder MINT in Edge für Private Cloud-Installationen aktiviert haben.

Betroffene Komponente:edge-message-processor

Problem:Wenn Sie die Monetarisierung aktiviert haben und Version 4.52.01 als Neuinstallation installieren oder ein Upgrade von früheren Private Cloud-Versionen durchführen, tritt ein Problem mit Message-Prozessoren auf. Die Anzahl der offenen Threads steigt allmählich an, was zu einer Erschöpfung der Ressourcen führt. Die folgende Ausnahme wird in „edge-message-processor system.log“ angezeigt:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Apigee-Sicherheitslücke in HTTP/2

Vor Kurzem wurde in mehreren Implementierungen des HTTP/2-Protokolls (CVE-2023-44487) eine DoS-Sicherheitslücke (Denial of Service) festgestellt, darunter auch in Apigee Edge for Private Cloud. Die Sicherheitslücke könnte zu einem DoS der Apigee API-Verwaltungsfunktionen führen. Weitere Informationen finden Sie im Apigee-Sicherheitsbulletin GCP-2023-032.

Die Komponenten des Routers und Verwaltungsservers von Edge for Private Cloud sind über das Internet zugänglich und können anfällig sein. Obwohl HTTP/2 auf dem Verwaltungsport anderer Edge-spezifischer Komponenten von Edge for Private Cloud aktiviert ist, ist keine dieser Komponenten im Internet zugänglich. Auf Nicht-Edge-Komponenten wie Cassandra, Zookeeper und anderen ist HTTP/2 nicht aktiviert. Wir empfehlen, die folgenden Schritte auszuführen, um die Sicherheitslücke von Edge for Private Cloud zu beheben:

Führen Sie diese Schritte aus, wenn Sie Edge Private Cloud-Version 4.51.00.11 oder höher verwenden:

  1. Verwaltungsserver aktualisieren:

    1. Öffnen Sie auf jedem Verwaltungsserverknoten /opt/apigee/customer/application/management-server.properties.
    2. Fügen Sie der Datei mit den Eigenschaften die folgende Zeile hinzu:
      conf_webserver_http2.enabled=false
    3. Starten Sie die Verwaltungsserverkomponente neu:
      apigee-service edge-management-server restart
  2. Nachrichtenprozessor aktualisieren:

    1. Öffnen Sie auf jedem Nachrichtenprozessorknoten /opt/apigee/customer/application/message-processor.properties.
    2. Fügen Sie der Datei mit den Eigenschaften die folgende Zeile hinzu:
      conf_webserver_http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-message-processor restart
  3. Router aktualisieren:

    1. Öffnen Sie auf jedem Routerknoten /opt/apigee/customer/application/router.properties.
    2. Fügen Sie der Datei mit den Eigenschaften die folgende Zeile hinzu:
      conf_webserver_http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-router restart
  4. QPID aktualisieren:

    1. Öffnen Sie auf jedem QPID-Knoten /opt/apigee/customer/application/qpid-server.properties
    2. Fügen Sie der Datei mit den Eigenschaften die folgende Zeile hinzu:
      conf_webserver_http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-qpid-server restart
  5. Postgres aktualisieren:

    1. Öffnen Sie auf jedem Postgres-Knoten /opt/apigee/customer/application/postgres-server.properties
    2. Fügen Sie der Datei mit den Eigenschaften die folgende Zeile hinzu:
      conf_webserver_http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-postgres-server restart

Führen Sie diese Schritte aus, wenn Sie Edge for Private Cloud-Versionen vor 4.51.00.11 verwenden:

  1. Verwaltungsserver aktualisieren:

    1. Öffnen Sie auf jedem Verwaltungsserverknoten /opt/apigee/customer/application/management-server.properties.
    2. Fügen Sie der Datei mit den Eigenschaften die folgenden zwei Zeilen hinzu:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Starten Sie die Verwaltungsserverkomponente neu:
      apigee-service edge-management-server restart
  2. Nachrichtenprozessor aktualisieren:

    1. Öffnen Sie auf jedem Nachrichtenprozessorknoten /opt/apigee/customer/application/message-processor.properties.
    2. Fügen Sie der Datei mit den Eigenschaften die folgenden zwei Zeilen hinzu:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-message-processor restart
  3. Router aktualisieren:

    1. Öffnen Sie auf jedem Routerknoten /opt/apigee/customer/application/router.properties.
    2. Fügen Sie der Datei mit den Eigenschaften die folgenden zwei Zeilen hinzu:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-router restart
  4. QPID aktualisieren:

    1. Öffnen Sie auf jedem QPID-Knoten /opt/apigee/customer/application/qpid-server.properties
    2. Fügen Sie der Datei mit den Eigenschaften die folgenden zwei Zeilen hinzu:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-qpid-server restart
  5. Postgres aktualisieren:

    1. Öffnen Sie auf jedem Postgres-Knoten /opt/apigee/customer/application/postgres-server.properties
    2. Fügen Sie der Datei mit den Eigenschaften die folgenden zwei Zeilen hinzu:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Starten Sie die Message Processor-Komponente neu:
      apigee-service edge-postgres-server restart
PostgreSQL-Upgrade beim Aktualisieren auf Version 4.52

Bei Apigee-postgresql treten Probleme beim Upgrade von Edge for Private Cloud-Version 4.50 oder 4.51 auf Version 4.52 auf. Die Probleme treten hauptsächlich auf, wenn die Anzahl der Tabellen größer als 500 ist.

Mit der folgenden SQL-Abfrage können Sie die Gesamtzahl der Tabellen in Postgres prüfen:

select count(*) from information_schema.tables

Problemumgehung:Wenn Sie Apigee Edge 4.50.00 oder 4.51.00 auf 4.52.00 aktualisieren, müssen Sie den vorläufigen Schritt ausführen, bevor Sie ein Upgrade von Apigee-postgresql durchführen.

LDAP-Richtlinie

149245401: Die LDAP-Verbindungspool-Einstellungen für JNDI, die über die LDAP-Ressource konfiguriert werden, werden nicht berücksichtigt und die JNDI-Standardeinstellungen führen jedes Mal zu Einmalverbindungen. Daher werden Verbindungen jedes Mal für die einmalige Verwendung geöffnet und geschlossen, was zu einer großen Anzahl von Verbindungen pro Stunde zum LDAP-Server führt.

Workaround:

Wenn Sie die Eigenschaften des LDAP-Verbindungs-Pools ändern möchten, führen Sie die folgenden Schritte aus, um eine globale Änderung für alle LDAP-Richtlinien festzulegen.

  1. Erstellen Sie eine Konfigurationsattributdatei, falls sie noch nicht vorhanden ist:
    /opt/apigee/customer/application/message-processor.properties
  2. Fügen Sie der Datei Folgendes hinzu. Ersetzen Sie die Werte der JNDI-Attribute (Java Naming and Directory Interface) entsprechend den Anforderungen Ihrer LDAP-Ressourcenkonfiguration.
    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. Prüfen Sie, ob die Datei /opt/apigee/customer/application/message-processor.properties dem Nutzer apigee:apigee gehört.
  4. Starten Sie jeden Nachrichtenprozessor neu.

Wenn Sie prüfen möchten, ob die JNDI-Eigenschaften Ihres Verbindungspools wirksam werden, können Sie einen tcpdump durchführen, um das Verhalten des LDAP-Verbindungspools im Zeitverlauf zu beobachten.

Hohe Latenz der Anfrageverarbeitung

139051927: Hohe Latenzen bei der Proxy-Verarbeitung im Message Processor wirken sich auf alle API-Proxys aus. Zu den Symptomen gehören Verzögerungen von 200 bis 300 ms bei den Verarbeitungszeiten im Vergleich zu normalen API-Antwortzeiten. Sie können auch bei niedrigen TPS zufällig auftreten. Das kann passieren, wenn ein Message Processor Verbindungen zu mehr als 50 Zielservern herstellt.

Ursache:Nachrichtenprozessoren verwalten einen Cache, in dem die Zielserver-URL dem HTTPClient-Objekt für ausgehende Verbindungen zu Zielservern zugeordnet wird. Standardmäßig ist für diese Einstellung der Wert 50 festgelegt, der für die meisten Bereitstellungen möglicherweise zu niedrig ist. Wenn eine Bereitstellung mehrere Organisations-/Umgebungskombinationen in einer Einrichtung und eine große Anzahl von Zielservern hat, die insgesamt 50 überschreiten, werden die Zielserver-URLs immer wieder aus dem Cache entfernt, was zu Latenzen führt.

Validierung:Suchen Sie in den Systemprotokollen des Message Processor nach dem Keyword „onEvict“ oder „Eviction“, um festzustellen, ob das Problem mit der Latenz durch das Entfernen der Zielserver-URL verursacht wird. Ihr Vorhandensein in den Logs weist darauf hin, dass Zielserver-URLs aus dem HTTPClient-Cache entfernt werden, weil die Cachegröße zu klein ist.

Problemumgehung:In Edge for Private Cloud-Versionen 19.01 und 19.06 können Sie den HTTPClient-Cache /opt/apigee/customer/application/message-processor.properties bearbeiten und konfigurieren:

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

Starten Sie dann den Message Processor neu. Nehmen Sie dieselben Änderungen für alle Message Processors vor.

Der Wert 500 ist ein Beispiel. Der optimale Wert für Ihre Konfiguration sollte größer als die Anzahl der Zielserver sein, mit denen der Nachrichtenprozessor eine Verbindung herstellen würde. Das Festlegen eines höheren Werts für diese Property hat keine Nebenwirkungen. Die einzige Auswirkung sind kürzere Verarbeitungszeiten für Proxyanfragen des Message-Prozessors.

Hinweis:In Edge for Private Cloud-Version 50.00 ist der Standardwert 500.

Mehrere Einträge für Schlüssel/Wert-Zuordnungen

157933959: Gleichzeitiges Einfügen und Aktualisieren derselben Schlüssel/Wert-Zuordnung (Key Value Map, KVM) auf Organisations- oder Umgebungsebene führt zu inkonsistenten Daten und verlorenen Aktualisierungen.

Hinweis:Diese Einschränkung gilt nur für Edge for Private Cloud. Für Edge for Public Cloud und Hybrid gilt diese Einschränkung nicht.

Als Workaround in Edge for Private Cloud erstellen Sie den KVM im apiproxy-Bereich.