Edge Microgateway-Versionshinweise

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

Version 3.3.x

Fehlerkorrekturen und Verbesserungen – Version 3.3.x

3.3.7

Am 17. Juli 2025 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
191613108 Funktion

Edge Microgateway (EMG) wurde erweitert, um Platzhalter-URL-Muster in der excludeUrls-Konfiguration zu unterstützen. Mit dieser Verbesserung wurde eine frühere Einschränkung behoben, bei der die executeURL-Funktion auf statische URLs beschränkt war und keine Unterstützung für URL-Muster oder Abfrageparameter in GET-Anfragen bot.

Die aktualisierte Funktion ermöglichte den bedingten Ausschluss von Plug-ins basierend auf dynamischen oder musterabgleichenden URLs. Diese Änderung war abwärtskompatibel, sodass bestehende statische URL-Konfigurationen ohne Änderungen voll funktionsfähig blieben.

Beispiel:

edgemicro:
  plugins:
    excludeUrls: '/hello,/proxy_one/*' # global exclude urls
    sequence:
      -oauth
      -json2xml
      -quota
      -json2xml:
          excludeUrls: '/hello/xml/*'  # plugin level exclude urls
135276110 Funktion

Die Analysedaten von Edge Microgateway (EMG) enthielten gateway_flow_id. Bisher wurde dieses Feld ausgelassen, was die eindeutige Identifizierung und Korrelation von Analyseereignissen mit bestimmten API-Ausführungen erschwert hat.

EMG wurde aktualisiert, sodass jeder Analysedatensatz automatisch mit einer eindeutigen UUID für gateway_flow_id gefüllt wird. Dieses Feld wurde standardmäßig zu einem erforderlichen Bestandteil aller Analyse-Nutzlasten, wodurch die Nachverfolgbarkeit von Daten und die Einheitlichkeit von Berichten erheblich verbessert wurden.

422696257 Bug (Fehler)

Die Systemstabilität wurde durch die Behebung eines kritischen Absturzproblems deutlich verbessert.

Bei der Fehlerbehebung wurde eine Fehlkonfiguration in einem internen Modul identifiziert und korrigiert, die zuvor eine wiederkehrende Prozessschleife verursacht hatte, die zu einer Systemüberlastung führte. Durch diese gezielte Korrektur wurde die Schleife beseitigt, was zu einem robusteren und zuverlässigeren System führte.

Behobene Sicherheitsprobleme

3.3.6

Am 16. April 2025 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.6 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.6 3.3.6 3.3.6 3.3.6 3.2.2

Behobene Sicherheitsprobleme

  • CVE-2025-27789
  • CVE-2024-21538
  • CVE-2024-12133

3.3.5

Am Freitag, dem 20. Dezember 2024, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.5 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.5 3.3.5 3.3.5 3.3.5 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
383024578 Funktion

Wir haben die Unterstützung für Node.js-Version 22 hinzugefügt und die Unterstützung für Version 16 entfernt. Wenn Sie Node.js v18 verwenden, gibt Edge Microgateway beim Start die folgende Fehlermeldung aus:

current nodejs version is  18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0

Wenn Sie eine frühere Version von Node.js ausführen, wird diese Fehlermeldung angezeigt:

You are using a version of NodeJS that is not supported

Behobene Sicherheitsprobleme

  • CVE-2024-21538
  • CVE-2024-45590
  • CVE-2019-3844
  • CVE-2019-12290
  • CVE-2020-1751
  • CVE-2018-12886
  • CVE-2023-50387
  • CVE-2019-3843
  • CVE-2022-4415
  • CVE-2021-3997

3.3.4

Am 18. September 2024 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.4 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.4 3.3.4 3.3.4 3.3.4 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
675987751 Bug (Fehler)

Ein Problem wurde behoben, bei dem Edge Microgateway keine Client-IP-Adressen protokolliert hat.

Behobene Sicherheitsprobleme

  • CVE-2021-23337
  • CVE-2024-4068
  • CVE-2020-28469
  • CVE-2020-28503

3.3.3

Am 25. April 2024 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.3 3.3.3 3.3.3 3.3.3 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
315939218 Entfernt

Das Eureka-Client-Plug-in wurde aus Edge Microgateway entfernt. Das Entfernen dieser Funktion hat keine Auswirkungen auf die Hauptfunktionen von Edge Microgateway oder das Umschreiben von Ziel-URLs. Weitere Informationen finden Sie unter Ziel-URLs in Plug-ins umschreiben.

283947053 Entfernt

Die Unterstützung für forever-monitor wurde aus Edge Microgateway entfernt. Sie können forever-monitor durch PM2 ersetzen. Weitere Informationen finden Sie in diesem Apigee-Community-Beitrag: Edgemicro + PM2: Starting edgemicro as a service.

Behobene Sicherheitsprobleme

  • CVE-2023-0842
  • CVE-2023-26115
  • CVE-2022-25883
  • CVE-2017-20162
  • CVE-2022-31129
  • CVE-2022-23539
  • CVE-2022-23541
  • CVE-2022-23540
  • CVE-2024-21484
  • CVE-2022-46175
  • CVE-2023-45133
  • CVE-2020-15366
  • CVE-2023-26136
  • CVE-2023-26115

3.3.2

Am 18. August 2023 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.2 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
296187679 Funktion

Zu den unterstützten Node.js-Versionen gehören: 16, 18 und 20. Ab Version 3.3.2 funktionieren Edge Microgateway-CLI-Befehle nur in den unterstützten Versionen. Die Ausführung von CLI-Befehlen in nicht unterstützten Versionen führt zu einem Fehler. Siehe auch Von Apigee unterstützte Software und unterstützte Versionen.

283947053 Bug (Fehler)

Ein Problem wurde behoben, bei dem Edge Microgateway das erste API-Produkt in der Liste der API-Produkte zurückgegeben hat, die mit einer App verknüpft sind. Das richtige API-Produkt wird jetzt anhand der Anfrage ermittelt.

274443329 Bug (Fehler)

Ein Problem wurde behoben, bei dem Docker eine veraltete Bildversion abgerufen hat. Die Docker-Knotenversion wurde auf Node.js-Version 18 aktualisiert. Wir erstellen jetzt das Docker-Image mit der Version 18.17-buster-slim.

Behobene Sicherheitsprobleme

Keine.

3.3.1

Am 7. Juni 2022 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
220885293 Funktion

Node.js-Version 16 wird jetzt unterstützt.

231972608 Bug (Fehler)

Ein Problem wurde behoben, bei dem der Befehl private configure beim Versuch, eine private Cloud zu konfigurieren, einen Fehler ausgegeben hat.

233315475 Bug (Fehler)

Ein Problem wurde behoben, bei dem das json2xml-Plug-in einen Parsing-Fehler ausgegeben hat, wenn die Antwort von JSON in XML umgewandelt wurde und das Plug-in in Kombination mit dem accumulate-response-Plug-in verwendet wurde.

221432797 Ändern

Die Docker-Node.js-Version des Basis-Edge Microgateway-Images wurde auf Node.js 14 aktualisiert.

215748732 Funktion

Dem Befehl revokekeys wurde Unterstützung für die SAML-Token-Authentifizierung hinzugefügt.

Sie können jetzt ein SAML-Token anstelle von Anmeldedaten mit Nutzername und Passwort über die Option -t im Befehl revokekeys übergeben.

Weitere Informationen finden Sie in der Befehlszeilenreferenz.

218723889 Dokument aktualisieren

Die Dokumentation wurde aktualisiert und enthält jetzt einen Link zu den unterstützten Edge Microgateway-Plug-ins, die auf GitHub gespeichert sind. Weitere Informationen finden Sie unter Vorhandene Plugins, die mit Edge Microgateway gebündelt sind.

Behobene Sicherheitsprobleme

Problem-ID Beschreibung
CVE-2021-23413 Dies betrifft das Paket „jszip“ vor Version 3.7.0. Wenn Sie eine neue ZIP-Datei mit Dateinamen erstellen, die auf Objektprototypwerte (z. B. „proto“, „toString“ usw.) festgelegt sind, wird ein Objekt mit einer geänderten Prototypinstanz zurückgegeben.

3.3.0

Am 4. Februar 2022 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.3.0 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
219556824 Bekanntes Problem Edge Microgateway 3.3.0 ist nicht mit dem Befehl npm audit fix kompatibel.

Wenn Sie npm audit fix ausführen, wird apigeetool auf Version 0.15.2 aktualisiert. Das hat Auswirkungen auf den Befehl edgemicro upgradeauth.

Wenn Sie npm audit fix und anschließend edgemicro upgradeauth ausführen, wird dieser Fehler angezeigt:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

Führen Sie den folgenden Befehl aus, um das Problem zu beheben und die richtige Version von apigeetool wiederherzustellen:

npm install apigeetool@0.15.1

Dieses Problem wird in einer zukünftigen Version von Edge Microgateway behoben.

138622990 Funktion

Ein neues Flag für das Quota-Plug-in, isHTTPStatusTooManyRequestEnabled, konfiguriert das Plug-in so, dass es bei einem Kontingentverstoß den HTTP-Antwortstatus 429 anstelle von Status 403 zurückgibt. Weitere Informationen finden Sie unter Konfigurationsoptionen für Kontingente.

192534424 Bug (Fehler)

Ein Problem wurde behoben, bei dem der in Apigee Analytics angezeigte Antwortcode nicht mit dem Antwortcode des Edge Microgateways übereinstimmte.

198986036 Optimierung Edge Microgateway ruft jetzt den öffentlichen Schlüssel eines Identitätsanbieters (Identity Provider, IDP) in jedem Abfrageintervall ab und aktualisiert den Schlüssel auch, falls sich der öffentliche Schlüssel des IDP ändert. Bisher konnte das extauth-Plug-in den öffentlichen Schlüssel nicht aktualisieren, ohne Edge Microgateway neu zu laden, wenn sich der öffentliche Schlüssel eines Identitätsanbieters geändert hat.
168713541 Bug (Fehler)

Die Dokumentation wurde erweitert, um zu erläutern, wie TLS/SSL für mehrere Ziele konfiguriert wird. Weitere Informationen finden Sie unter SSL/TLS-Clientoptionen verwenden.

171538483 Bug (Fehler)

Die Dokumentation wurde geändert, um die Namenskonvention für Logdateien zu korrigieren. Weitere Informationen finden Sie unter Namenskonventionen für Logdateien.

157908466 Bug (Fehler)

Die Dokumentation wurde geändert, um korrekt zu beschreiben, wie eine bestimmte Version von Edge Microgateway installiert wird. Weitere Informationen finden Sie unter Edge Microgateway aktualisieren, wenn eine Internetverbindung besteht.

215748427 Bug (Fehler) Ein Problem wurde behoben, bei dem der Befehl „revokekeys“ einen Fehler zurückgegeben hat, wenn ein Schlüssel mit einem vorhandenen Schlüssel- und Geheimnispaar widerrufen wurde.
205524197 Bug (Fehler) Die Dokumentation wurde aktualisiert und enthält jetzt die vollständige Liste der Protokollebenen. Weitere Informationen finden Sie unter edgemicro-Attribute und Logebene festlegen.

Version 3.2.x

Fehlerkorrekturen und Verbesserungen – Version 3.2.x

3.2.3

Am 17. September 2021 haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.2.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
192416584 Funktion

Mit dem Konfigurationsattribut disableStrictLogFile können Sie die strengen Dateiberechtigungen für die Anwendungslogdatei api-log.log lockern. Weitere Informationen finden Sie unter Berechtigungen für Logdateien lockern.

192799989 Funktion

Mit dem Konfigurationsattribut on_target_response_abort können Sie das Verhalten von Edge Microgateway steuern, wenn die Verbindung zwischen dem Client (Edge Microgateway) und dem Zielserver vorzeitig geschlossen wird. Weitere Informationen finden Sie unter edgemicro-Attribute.

148062415 Bug (Fehler) Ein Problem wurde behoben, bei dem Edge Microgateway in einem Docker-Containerkontext nicht ordnungsgemäß mit dem Befehl docker stop {containerId} heruntergefahren wurde. Der Prozess wurde beendet, aber die Dateien .sock und .pid wurden nicht entfernt. Die Dateien werden jetzt entfernt und das Neustarten desselben Containers funktioniert wie erwartet.
190715670 Bug (Fehler) Ein Problem wurde behoben, bei dem einige Anfragen während des internen Neuladens des Microgateways hängen blieben. Dieses Problem trat nur zeitweise und bei hohem Traffic auf. Das Problem trat auf, wenn die Funktionen tokenCache und cacheKey des OAuth-Plug-ins verwendet wurden.
183910111 Bug (Fehler) Ein Problem wurde behoben, bei dem eine Ressourcenpfad-URL mit einem nachgestellten Schrägstrich fälschlicherweise als separater Ressourcenpfad interpretiert wurde. Die Pfade /country/all und /country/all/ werden jetzt beispielsweise als derselbe Pfad interpretiert.

Behobene Sicherheitsprobleme

Problem-ID Beschreibung
CVE-2020-28503 Das Paket „copy-props“ vor Version 2.0.5 ist über die Hauptfunktion anfällig für Prototype Pollution.
CVE-2021-23343 Alle Versionen des Paketpfads „path-parse“ sind anfällig für Regular Expression Denial of Service (ReDoS) über die regulären Ausdrücke „splitDeviceRe“, „splitTailRe“ und „splitPathRe“. ReDoS weist eine polynomielle Worst-Case-Zeitkomplexität auf.

3.2.2

Am Donnerstag, 15. Juli 2021, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.2.2 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
185323500 Ändern

expires_in-Wert von String in Ganzzahl geändert

Die APIs für Tokenanfragen und Aktualisierungstokenanfragen geben jetzt expires_in als Ganzzahlwert in Sekunden zurück.

Um RFC 6749, The OAuth 2.0 Authorization Framework zu entsprechen, wurde der erwartete Wert für den Konfigurationsparameter expires_in von String zu Integer geändert. Weitere Informationen finden Sie in der Referenz zu Vorgängen und Konfiguration.

188492065 Ändern Ende der Unterstützung für Node.js 8

Ab Version 3.2.2 wird Node.js 8 nicht mehr unterstützt. Weitere Informationen finden Sie unter Unterstützte Software und unterstützte Versionen: Edge Microgateway.

183990345 Funktion Logausgabe für Docker-Container konfigurieren

Mit dem Edge Microgateway-Konfigurationsparameter to_console können Sie festlegen, ob Protokollinformationen an die Standardausgabe anstatt an eine Protokolldatei gesendet werden sollen. Wenn Sie die Schritte zum Ausführen von Edge Microgateway in einem Docker-Container ausführen, leitet der Container standardmäßig die Standardausgabe und Fehlerausgabe an eine Datei weiter, die sich im Container unter ${APIGEE_ROOT}/logs/edgemicro.log befindet.

Wenn Sie verhindern möchten, dass Protokollinformationen an edgemicro.log gesendet werden, verwenden Sie die neue Variable LOG_CONSOLE_OUTPUT_TO_FILE, wenn Sie den Container ausführen.

Weitere Informationen zur Verwendung dieser neuen Variablen finden Sie unter Docker für Edge Microgateway verwenden.

183057665 Funktion edgemicro.pid- und edgemicro.sock-Dateipfade konfigurierbar machen:

Mit dem neuen Parameter -w, --workdir zum Ausführen eines Docker-Containers mit Edge Microgateway können Sie den Pfad zum Verzeichnis angeben, in dem die Dateien edgemicro.sock und edgemicro.pid in einem Docker-Container erstellt werden sollen. Weitere Informationen finden Sie unter Docker für Edge Microgateway verwenden.

191352643 Funktion Das Docker-Image für Edge Microgateway wurde aktualisiert und verwendet jetzt NodeJS-Version 12.22. Weitere Informationen finden Sie unter Docker für Edge Microgateway verwenden.

Behobene Sicherheitsprobleme

Problem-ID Beschreibung
CVE-2021-28860 In Node.js mixme vor Version 0.5.1 kann ein Angreifer über die Funktionen „mutate()“ und „merge()“ Eigenschaften eines Objekts über „__proto__“ hinzufügen oder ändern. Das Attribut „polluted“ wird jedem Objekt im Programm direkt zugewiesen. Dadurch wird die Verfügbarkeit des Programms gefährdet, was zu einem potenziellen Denial of Service (DoS) führen kann.
CVE-2021-30246 Im jsrsasign-Paket bis einschließlich Version 10.1.13 für Node.js werden einige ungültige RSA PKCS#1 v1.5-Signaturen fälschlicherweise als gültig erkannt. HINWEIS: Es ist kein praktischer Angriff bekannt.
CVE-2021-23358 Das Paket „underscore“ in Versionen 1.13.0-0 und vor 1.13.0-2 sowie in Versionen 1.3.2 und vor 1.12.1 ist anfällig für das Einschleusen von beliebigem Code über die Vorlagenfunktion, insbesondere wenn eine Variablen-Property als Argument übergeben wird, da sie nicht bereinigt wird.
CVE-2021-29469 Node-redis ist ein Node.js-Redis-Client. Vor Version 3.1.1 konnte der reguläre Ausdruck, der zum Erkennen von Überwachungsnachrichten verwendet wurde, bei einigen Strings zu exponentiellem Backtracking führen, wenn sich ein Client im Überwachungsmodus befand. Dieses Problem kann zu einem Verweigerungsangriff führen. Das Problem wurde in Version 3.1.1 behoben.
CVE-2020-8174 Das Docker-Image wurde aktualisiert und verwendet jetzt Node.js Version 12.22.

3.2.1

Am Freitag, den 5. März 2021, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.2.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
180362102 Bug (Fehler) Ein Problem wurde behoben, bei dem JWK-Schlüssel mit einem Nullwert dazu führten, dass Anwendungen fehlschlugen.

Die Nullbedingung wird jetzt behandelt, um zu vermeiden, dass ein Nullwert in jwkPublicKeys übergeben wird.

Hinweis:Für diesen Fix müssen Sie den Proxy edgemicro-auth aktualisieren.

179971737 Bug (Fehler) Ein Problem wurde behoben, bei dem 4XX-/5XX-Statusantworten des Ziels als Proxyfehler für edgemicro_*-Proxys protokolliert wurden.

Bei Edge Microgateway-Transaktionen wurden im Apigee Edge-Dashboard für die Fehlercodeanalyse falsche Zielfehlerzahlen angezeigt. Fehlercodes für Zielfehler wurden als Proxy-Fehler gezählt. Dieses Problem wurde behoben und es werden nun korrekte Fehlerzahlen für das Ziel angezeigt.

179674670 Funktion Es wurde eine neue Funktion hinzugefügt, mit der Sie die Liste der API-Produkte in einem JWT anhand von Produktstatuscodes filtern können.

API-Produkte haben drei Statuscodes: „Ausstehend“, „Genehmigt“ und „Widerrufen“. Dem Proxy edgemicro-auth wurde in der Richtlinie JWT-Variablen festlegen eine neue Eigenschaft namens allowProductStatus hinzugefügt. So verwenden Sie diese Eigenschaft zum Filtern von API-Produkten, die im JWT aufgeführt sind:

  1. Öffnen Sie den Proxy edgemicro-auth im Apigee-Proxy-Editor.
  2. Fügen Sie der XML-Datei der SetJWTVariables-Richtlinie die allowProductStatus-Eigenschaft hinzu und geben Sie eine durch Kommas getrennte Liste der Statuscodes an, nach denen gefiltert werden soll. Beispiel: So filtern Sie nach dem Status Ausstehend und Widerrufen:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

    Wenn nur genehmigte Produkte aufgeführt werden sollen, legen Sie die Property so fest:

    <Property name="allowProductStatus">Approved</Property>
  3. Speichern Sie den Proxy.

    Wenn das Property-Tag nicht vorhanden ist, werden Produkte mit allen Statuscodes im JWT aufgeführt.

    Wenn Sie diese neue Property verwenden möchten, müssen Sie den edgemicro-auth-Proxy aktualisieren.

178423436 Bug (Fehler) Schlüssel- und geheime Werte, die in der CLI oder über Umgebungsvariablen übergeben werden, sind in den Befehlszeilenargumenten des Prozess-Explorers sichtbar.

Es wurde ein Problem gemeldet, bei dem die Schlüssel- und Secret-Werte von Edge Microgateway, die entweder über Befehlszeilenargumente übergeben oder über Umgebungsvariablen festgelegt wurden, nach dem Starten des Microgateway in den Argumenten von Node-Worker-/untergeordneten Prozessen angezeigt wurden.

Um dieses Problem für das Szenario mit Umgebungsvariablen zu beheben, sind Werte nicht mehr in den Befehlszeilenargumenten des Prozess-Explorers sichtbar.

Wenn die Schlüssel- und Secret-Werte beim Starten des Microgateways in der Befehlszeile übergeben werden, überschreiben die Einstellungen alle Umgebungsvariablenwerte, sofern festgelegt. In diesem Fall sind die Werte weiterhin in den Befehlszeilenargumenten des Prozess-Explorers sichtbar.

178341593 Bug (Fehler) Ein Dokumentationsfehler für das apikeys-Plug-in wurde behoben.

Die README-Datei für das apikeys-Plug-in enthielt fälschlicherweise das Attribut gracePeriod. Wir haben diese Eigenschaft und ihre Beschreibung aus der README-Datei entfernt.

Die gracePeriod-Property ist im oauth-Plug-in implementiert. Wenn Sie die Kulanzzeitfunktion verwenden möchten, müssen Sie das oauth-Plug-in verwenden.

179366445 Bug (Fehler) Ein Problem wurde behoben, bei dem die Nutzlast für alle GET-Anfragen an Ziele verworfen wurde.

Sie können das gewünschte Verhalten mit einem neuen Konfigurationsparameter, edgemicro: enable_GET_req_body, steuern. Wenn true festgelegt ist, wird der Anfrageheader transfer-encoding: chunked allen GET-Anfragen hinzugefügt und eine GET-Nutzlast, sofern vorhanden, wird an das Ziel gesendet. Bei false (Standard) wird die Nutzlast still entfernt, bevor die Anfrage an das Ziel gesendet wird.

Beispiel:

edgemicro:
 enable_GET_req_body: true

Gemäß RFC 7231, Abschnitt 4.3.1: GET, hat die Nutzlast einer GET-Anfrage keine definierte Semantik und kann daher an das Ziel gesendet werden.

3.2.0

Am Donnerstag, 21. Januar 2021, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.2.0 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
152640618 Bug (Fehler) Das extauth-Plug-in wurde aktiviert, um den x-api-key-Header so festzulegen, dass er das client_id-Attribut im Anfrageobjekt enthält, wenn das Token gültig ist. Die x-api-key ist dann für nachfolgende Plug-ins verfügbar.
168836123, 172295489, 176462355, 176462872 Funktion Unterstützung für Node.js 14 hinzugefügt
172376835 Bug (Fehler) Verwenden Sie die richtige Zeiteinheit für den /token-Endpunkt im edgemicro-auth-Proxy.

Ein Problem wurde behoben, bei dem der /token-Endpunkt im edgemicro-auth-Proxy expires_in in Millisekunden zurückgegeben hat. Gemäß der OAuth-Spezifikation sollte die Zeiteinheit jedoch mit der für refresh_token_expires_in übereinstimmen, die Sekunden ist.

Durch die Korrektur ändert sich nicht die Länge des Ablaufzeitraums, sondern nur die Zeiteinheit. Sie gilt nur für das Feld expires_in in der Nutzlast der Zugriffstokenantwort. Das JWT-Token in derselben Antwortnutzlast würde zwei Felder enthalten, iat und exp, die korrekt generiert werden und immer mit der Zeiteinheit seconds generiert wurden.

Wenn Clients sich auf den Wert expires_in in Millisekunden verlassen haben, um Aktualisierungstokens zu aktualisieren, bevor Tokens ablaufen, würde die Anwendung dieses Fixes ohne Änderung der Clients zu viel häufigeren und unnötigen Aktualisierungen führen. Diese Clients müssen geändert werden, um die Änderung der Zeiteinheit zu berücksichtigen und das ursprüngliche Verhalten beizubehalten.

Wenn Clients immer die Werte im JWT-Token verwendet haben, um den Zeitraum für die Tokenaktualisierung zu bewerten, müssen sie nicht geändert werden.

173064680 Bug (Fehler) Ein Problem wurde behoben, bei dem das Microgateway die Zielanfrage beendet hat, bevor alle Datenblöcke verarbeitet wurden.

Dieses Problem tritt nur gelegentlich bei Anfragen mit hoher Nutzlastgröße auf und wurde mit Version 3.1.7 eingeführt.

174640712 Bug (Fehler) Plug‑ins eine angemessene Datenverarbeitung hinzufügen:

Die korrekte Datenverarbeitung wurde den folgenden Plugins hinzugefügt: json2xml, accumulate-request, accumulate-response und header-uppercase. Weitere Informationen zu Plug-ins finden Sie unter microgateway-plugins.

Version 3.1.x

Fehlerkorrekturen und Verbesserungen – Version 3.1.x

3.1.8

Am Montag, dem 16. November 2020, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.8 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
169201295 Bug (Fehler) Numerische und boolesche Werte wurden in Umgebungsvariablen-Tags falsch geparst.

Bei der Verarbeitung des Ersetzens von Umgebungsvariablen wurden alle Werte als Strings geparst, was zu Parsing-Fehlern für boolesche oder numerische Werte führte. Für edgemicro.port wird beispielsweise ein numerischer Wert erwartet und benötigt. Es wurden Korrekturen vorgenommen, um boolesche und numerische Werte zu unterstützen. Weitere Informationen zur Konfiguration finden Sie unter Konfigurationsattribute mit Umgebungsvariablenwerten festlegen.

169202749 Bug (Fehler) Die Ersetzung von Umgebungsvariablen hat in einigen Fällen nicht funktioniert.

Die Verarbeitung des Ersetzens von Umgebungsvariablen hat für einige Konfigurationsattribute nicht funktioniert. Informationen zu Einschränkungen finden Sie unter Konfigurationsattribute mit Umgebungsvariablenwerten festlegen.

168732942 Bug (Fehler) Ein Problem wurde behoben, bei dem der Zugriff auf API-Proxys nicht wie erwartet durch OAuth-Bereiche eingeschränkt wurde.

Beim /token-Ablauf im edgemicro-auth-Proxy wurden JWTs ohne die richtigen Produktbereiche generiert, die in Edge definiert sind. Das kann zwei Ursachen haben: 1) In der Anfrage-Payload für den /token-Ablauf wurde kein Bereichsparameter übergeben oder 2) in der Anfrage-Payload für den /token-Ablauf wurde ein ungültiger Bereich übergeben. Es wurde ein Fehler behoben, durch den nicht alle in API-Produkten in Apigee Edge definierten Bereiche zurückgegeben wurden.

170609716 Bug (Fehler) Ein Problem wurde behoben, bei dem im /refresh-Ablauf im Proxy edgemicro-auth ein JWT ohne apiProductList generiert wurde.

170708611 Bug (Fehler) API-Produktbereiche sind für benutzerdefinierte Plug-ins nicht verfügbar.

Die API-Produktbereiche wurden nicht für benutzerdefinierte Plug-ins zur Verfügung gestellt und auch nicht in die Cache-Konfigurationsdatei geschrieben. Unter Informationen zur Funktion „init()“ des Plug-ins erfahren Sie, wie Plug-ins auf Bereichsdetails zugreifen können.

169810710 Funktion Schlüssel und Secret in der Cache-Konfigurationsdatei gespeichert.

Der Schlüssel und das Secret von Edge Microgateway wurden bei jedem Neuladen/Start in der YAML-Datei für die Cachekonfiguration gespeichert. In Version 3.1.8 werden der Schlüssel und das Secret nicht mehr in der Cache-Konfigurationsdatei gespeichert. Wenn der Schlüssel und das Secret zuvor in die Cache-Konfigurationsdatei geschrieben wurden, werden sie entfernt.

170708621 Funktion Das Analyse-Plug-in kann nicht deaktiviert werden.

In früheren Microgateway-Versionen war das Analytics-Plug-in standardmäßig aktiviert und konnte nicht deaktiviert werden. In Version 3.1.8 wurde der neue Konfigurationsparameter enableAnalytics eingeführt, mit dem das Analytics-Plug-in aktiviert oder deaktiviert werden kann. Weitere Informationen finden Sie in der Konfigurationsreferenz.

159571119 Bug (Fehler) Null-Fehler im onerror_request-Hook in benutzerdefinierten Plug-ins für Antwort-/Socket-Zeitüberschreitung:

Es wurden Korrekturen vorgenommen, damit der richtige HTTP-Statuscode und die richtige Fehlermeldung für onerror_request-Ereignisse und die richtige Fehlermeldung für onerror_response-Ereignisse ausgegeben werden.

3.1.7

Am Donnerstag, dem 24. September 2020, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.7 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
131708105 Bug (Fehler) Das analytics-Plug-in hat die Nullantwort von axpublisher-Aufrufen falsch verarbeitet und dazu geführt, dass Worker beendet wurden.

133162200 Bug (Fehler) Die App-Informationen des Entwicklers wurden in Analytics nicht mit 403-Statusantworten aufgrund nicht autorisierter Produktressourcenpfade oder 401-Antworten aufgrund eines abgelaufenen oder ungültigen Tokens ausgefüllt.

132194290 Bug (Fehler) Analytics-Datensätze werden verworfen, wenn Apigee Edge einige Analytics-Datensätze ablehnt.

158618994 Bug (Fehler) Zu viele Redis-Clientverbindungen:

161404373 Bug (Fehler) Bei einer 404-Statusantwort war die vollständige Proxy-URI in der Antwortnachricht enthalten.
166356972 Bug (Fehler)

Wenn Edge Microgateway mit Node.js-Version 12.13.x oder höher ausgeführt wurde, trat beim Ausführen von Plug-ins, die die Anfrage-Nutzlast transformieren, der folgende Fehler auf:

{"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}

168681746 Bug (Fehler) Das manuelle Neuladen von Edge Microgateway mit redisBasedConfigCache:true hat nicht funktioniert.

149256174 Bug (Fehler) OAuth-Plug-in-Fehler wurden bei Netzwerkfehlern nicht protokolliert.

166517190 Bug (Fehler) Die jwk_public_keys-Daten wurden nicht vom Synchronizer gespeichert und abgerufen und in Redis gespeichert.

141659881 Bug (Fehler) Die Fehlerbehandlung ungültiger Zielzertifikate hat irreführende Fehlermeldungen angezeigt.

142808699 Bug (Fehler) Das accesscontrol-Plug-in hat die Abschnitte „allow“ und „deny“ nicht korrekt verarbeitet.

Das Microgateway verarbeitet den Abschnitt „deny“ jetzt richtig und berücksichtigt die Reihenfolge der Abschnitte „allow“ und „deny“. Der Microgateway-Konfigurationsdatei wurde das neue noRuleMatchAction-Attribut hinzugefügt, um die Parität mit der AccessControl-Richtlinie von Apigee Edge zu gewährleisten. Weitere Informationen finden Sie in der README-Datei des Access Control-Plug-ins auf GitHub.

3.1.6

Am Donnerstag, dem 20. August 2020, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.6 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
163711992 Funktion Optionen für benutzerdefinierte Speicherorte von Schlüssel- und Zertifikatsdateien für den Befehl „rotatekey“.

Weitere Informationen zu diesen neuen Befehlsoptionen finden Sie unter Schlüssel rotieren.

154838259 Bug (Fehler) Schlüsselrotation für mehrere Instanzen in mehreren Rechenzentren korrigieren

Weitere Informationen zu diesen neuen Befehlsoptionen finden Sie unter Schlüssel rotieren.

145525133 Alphafunktion Neue Plug-in-Messwerte

Weitere Informationen finden Sie in der README-Datei zu neuen Plug-in-Messwerten auf GitHub.

159396879 Bug (Fehler) Nicht verwendetes Paket „Helper“ entfernen
161092943 Bug (Fehler) Die Validierung des Basispfads war falsch

Vor Version 3.1.6 wurde der Proxy-Basispfad falsch abgeglichen, wenn der Basispfad nicht mit / endete.

Im Folgenden wird das vorherige Verhalten (das in Version 3.1.6 behoben wurde) näher erläutert:

Angenommen, ein Proxy ist mit dem Basispfad /hello/v1 und einem Zielpfad zu https://mocktarget.apigee.net konfiguriert. Angenommen, der Proxy empfängt die folgenden Anfragen:

Anfragepfad Aufgelöster Pfad Ergebnis
/hello/v1/json https://mocktarget.apigee.net/json Der aufgelöste Pfad ist korrekt, da der Basispfad von /hello/v1 korrekt abgeglichen wird.
Anfragepfad Aufgelöster Pfad Ergebnis
/hello/v1json https://mocktarget.apigee.netjson Der aufgelöste Pfad ist falsch, da /hello/v1 ein Teilstring von /hello/v1json ist. Da /hello/v1json kein gültiger Pfad ist, hätte Edge Microgateway einen 404-Fehler ausgeben müssen. In Version 3.1.6 und höher wird in diesem Fall ein 404-Fehler ausgegeben.
160431789 Bug (Fehler) Benutzerdefinierte Plug-ins – Das an „init“ übergebene Konfigurationsobjekt ist nicht gefüllt

Die Apigee Edge-Konfiguration wird im Konfigurationsobjekt für alle benutzerdefinierten Plug-ins nach dem Zusammenführen mit der Edge Microgateway-Konfigurationsdatei verfügbar gemacht. Siehe config.

162758808 Bug (Fehler) Neue Kontingentkonfiguration für Redis-Backing Store

Mit der folgenden Konfiguration können Sie einen Redis-Backing Store für Kontingente angeben. Weitere Informationen finden Sie unter Redis-Backing Store für Kontingente verwenden.

3.1.5

Am Freitag, dem 26. Juni 2020, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.5 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
159210507 Funktion Konfiguration zum Ausschließen der Plug-in-Verarbeitung

Es wurde eine neue Konfigurationsfunktion hinzugefügt, mit der die Verarbeitung von Plug-ins für bestimmte URLs übersprungen werden kann. Weitere Informationen finden Sie unter Ausschluss-URLs für Plug-ins konfigurieren.

156986819, 158529319 Bug (Fehler) Probleme mit dem json2xml-Plug-in wurden behoben

Es wurden Probleme behoben, bei denen das Plug-in doppelte Content-Type-Header erstellte und Header in einigen Fällen nicht wie erwartet an das Ziel gesendet wurden.

156560067, 159688634 Funktion

Werte von Umgebungsvariablen in der Konfiguration verwenden

Es wurde eine Funktion hinzugefügt, mit der Sie Umgebungsvariablen mithilfe von Tags in der Konfigurationsdatei angeben können. Die angegebenen Umgebungsvariablen-Tags werden durch die tatsächlichen Umgebungsvariablenwerte ersetzt. Ersatzwerte werden nur im Arbeitsspeicher und nicht in den ursprünglichen Konfigurations- oder Cache-Dateien gespeichert. Weitere Informationen finden Sie unter Konfigurationsattribute mit Umgebungsvariablenwerten festlegen.

155077210 Bug (Fehler) Ein Problem mit der Protokollformatierung wurde behoben.

Ein Problem wurde behoben, bei dem der Zielhost in Protokollen mit zusätzlichen Doppelpunkten angezeigt wurde.

153673257 Bug (Fehler)

(Nur Edge for Private Cloud) Microgateway-kompatible Produkte werden nicht abgerufen

Ein Problem wurde behoben, bei dem Produkte, die für Microgateways konfiguriert sind, nicht abgerufen wurden. Dieses Problem trat nur bei Edge for Private Cloud-Installationen auf.

154956890, 155008028, 155829434 Funktion Filterung heruntergeladener Produkte nach benutzerdefinierten Attributen unterstützen

Weitere Informationen finden Sie unter Produkte nach benutzerdefinierten Attributen filtern.

153949764 Bug (Fehler) Ein Problem wurde behoben, durch das der Edge Microgateway-Prozess abstürzte, wenn die Log-Zieldatei voll war.

Die Ausnahmebehandlung wurde verbessert, um den Fehler abzufangen und eine Meldung in der Konsole auszugeben.

155499600 Bug (Fehler) Probleme mit der Schlüsselrotation und dem KVM-Upgrade wurden behoben

Siehe auch JWT-Schlüssel rotieren.

3.1.4

Am Freitag, dem 23. April 2020, haben wir den folgenden Fix für Edge Microgateway veröffentlicht.

Fehlerkorrektur:

Ein Abhängigkeitsproblem in Version 3.1.3 wurde behoben. Version 3.1.3 wurde im npm-Repository als verworfen gekennzeichnet. Andernfalls gelten alle in den Versionshinweisen zu Version 3.1.3 beschriebenen Fehlerkorrekturen und Verbesserungen auch für dieses Release.

3.1.3

Am Mittwoch, dem 15. April 2020, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 153509313: Ein Problem wurde behoben, bei dem das Node.js-Debugmodul zu Speicherlecks führte. Das Problem tritt in den Versionen 3.1.0, 3.1.1 und 3.1.2 auf.
  • 153509313: Ein Problem wurde behoben, bei dem in der Protokollausgabe dieselbe Nachrichten-ID für zwei verschiedene Transaktionen ausgegeben wurde.
  • 151673570: Ein Problem wurde behoben, bei dem Edge Microgateway nicht aktualisiert wurde, um neue Apigee KVM-APIs zu verwenden. Edge Microgateway verwendet jetzt die neuen Befehle zum Hinzufügen und Aktualisieren der KVM-Werte.
  • 152822846 – In früheren Releases wurde Edge Microgateway so aktualisiert, dass die Verarbeitung der Zuordnung von Ressourcenpfaden mit der von Apigee Edge übereinstimmt. In dieser Version wurde ein Problem behoben, bei dem das Muster /literal_string/* nicht richtig verarbeitet wurde. Beispiel: /*/2/*. Weitere Informationen finden Sie unter Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren.
  • 152005003 – Es wurden Änderungen vorgenommen, um organisations- und umgebungsbezogene IDs für Kontingente zu aktivieren.
  • 152005003 – Es wurden Änderungen vorgenommen, um organisations- und umgebungsbezogene IDs für Kontingente zu aktivieren. Die Kombination aus „org + env + appName + productName“ wird als Kontingent-ID verwendet.

3.1.2

Am Montag, dem 16. März 2020, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 151285018 – Es wurde eine Funktionserweiterung vorgenommen, um HTTP-Proxy-Unterstützung für Traffic zwischen Edge Microgateway und Backend-Zielen hinzuzufügen. Außerdem wurden Probleme mit der vorhandenen HTTP-Proxy-Unterstützung zwischen Edge Microgateway und Apigee Edge behoben. Weitere Informationen finden Sie unter:
  • 149101890: Der Protokollbenachrichtigungscode für Fälle, in denen der Zielserver oder Load Balancer die Verbindung schließt, wurde von ERROR in INFO geändert.
  • 150746985: Ein Problem wurde behoben, bei dem der Befehl edgemicro verify nicht richtig funktionierte, wenn redisBasedConfigCache: true oder quotaUri: https://%s-%s.apigee.net/edgemicro-auth in der Konfigurationsdatei vorhanden waren.
  • 151284716: Serververbindungen werden jetzt schneller geschlossen, wenn Worker während eines Neuladens neu gestartet werden.
  • 151588764 – Node.js-Version im Docker-Image, das zum Ausführen von Edge Microgateway in einem Docker-Container verwendet wird, auf Version 12 aktualisieren, da Node.js v8 eingestellt wurde.
  • 151306049: Die Dokumentation wurde aktualisiert und enthält nun eine Liste der Apigee Edge-Verwaltungs-APIs, die von Edge Microgateway-CLI-Befehlen verwendet werden. Weitere Informationen finden Sie unter Welche Verwaltungs-APIs werden von Edge Microgateway verwendet?.

3.1.1

Am Donnerstag, 20. Februar, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 146069701: Ein Problem wurde behoben, bei dem das Modul microgateway-core die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY nicht berücksichtigt hat. Durch diese Änderung werden Proxy-Einstellungen in der YAML-Konfigurationsdatei, sofern angegeben, jetzt ignoriert. Der Proxy wird nur über die Umgebungsvariablen angegeben.

    Wenn Sie die Proxykonfiguration in der Konfigurationsdatei angeben möchten, müssen Sie auch eine HTTP_PROXY-Variable angeben, die dieselbe Proxy-URL enthält wie die in der Konfigurationsdatei angegebene. Wenn Sie beispielsweise die folgende Konfiguration angeben:

    edge_config:
      proxy: http://10.128.0.20:3128
      proxy_tunnel: true

    Sie müssen auch diese Umgebungsvariable angeben:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620: Ein neuer Konfigurationsparameter, edgemicro.headers_timeout, wurde hinzugefügt. Dieses Attribut begrenzt die Zeit in Millisekunden, die der HTTP-Parser wartet, bis er die vollständigen HTTP-Header empfängt. Beispiel:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    Intern wird mit dem Parameter das Node.js-Attribut Server.headersTimeout für Anfragen festgelegt. Standard: 5 Sekunden mehr als die mit edgemicro.keep_alive_timeout festgelegte Zeit. Diese Standardeinstellung verhindert, dass Load-Balancer oder Proxys die Verbindung fälschlicherweise trennen.)

  • 149278885: Es wurde eine neue Funktion hinzugefügt, mit der Sie das Ziel-API-Zeitlimit auf API-Proxy-Ebene festlegen können, anstatt eine globale Zeitlimiteinstellung zu verwenden.

    Wenn Sie das TargetEndpoint-Attribut io.timeout.millis im API-Proxy festlegen, kann Edge Microgateway dieses Attribut abrufen und zielendpunktspezifische Zeitüberschreitungen anwenden. Wenn dieser Parameter nicht angewendet wird, verwendet Edge Microgateway das globale Zeitlimit, das mit edgemicro.request_timeout angegeben ist.

3.1.0

Am Dienstag, dem 21. Januar, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.1.0 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 144187500: Ein neues Ereignis auf WARN-Ebene wird protokolliert, wenn das Flag quotas.failOpen ausgelöst wird. Dieses Flag wird ausgelöst, wenn ein Fehler bei der Kontingentverarbeitung auftritt oder wenn die Anfrage „quota apply“ an Edge fehlschlägt, weil die Remote-Kontingentzähler nicht aktualisiert werden können. In diesem Fall wird das Kontingent nur anhand lokaler Zählungen verarbeitet, bis die nächste erfolgreiche Remote-Kontingentsynchronisierung erfolgt. Bisher wurde dieses Ereignis nur protokolliert, wenn die Protokollebene auf DEBUG festgelegt war.

    Beispiel:

    2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][]
    [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not
    available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60]
    [GET][][][][]
  • 145023519: Ein Problem wurde behoben, bei dem laufende oder neue Transaktionen beeinträchtigt wurden, wenn Edge Microgateway eine Änderung an einem API-Proxy erkannt hat. Wenn eine Änderung an einem Proxy vorgenommen wird, aktualisiert Edge Microgateway den Cache und die Worker-Knoten werden neu gestartet. Diese Änderung hat keine Auswirkungen auf laufende Transaktionen und neue API-Aufrufe, die an das Microgateway gesendet werden.
  • 146378327: Die Logebene von sourceRequest, targetRequest und targetResponse wurde in INFO geändert.
  • 146019878 – Eine Diskrepanz zwischen der Latenz, die für „API-Proxy-Leistung“ in Edge Analytics und Edge Microgateway-Logereignissen für „sourceResponse“/„targetResponse“ berechnet wurde, wurde behoben. Die Latenz bei Edge-Analyse- und Microgateway-Protokollereignissen ist jetzt gleich.
  • Änderungen an der Logik für den Musterabgleich:
    • 147027862 – Das OAuth-Plug-in wurde aktualisiert, um die folgenden Muster für den Ressourcenpfad zu unterstützen, wie in API-Produkten angegeben:
      • /{literal}**
      • /{literal}*
      • Beliebige Kombination der beiden oben genannten Muster

      Mit dieser Änderung folgt das Edge Microgateway-Plug-in jetzt dem gleichen Musterabgleich wie Apigee Edge, wie unter Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren beschrieben.

    • 145644205: Die Logik für den Musterabgleich des API-Schlüssel-Plug-ins wurde an das OAuth-Plug-in angepasst.
  • 143488312: Ein Problem wurde behoben, bei dem führende oder nachgestellte Leerzeichen im Parameter „client_id“ dazu führten, dass die erstellte JWT-Produktliste für OAuth-Token- und API-Schlüsselanfragen leer war.
  • 145640807 und 147579179: Es wurde ein neues Feature hinzugefügt, mit dem eine spezielle Edge Microgateway-Instanz namens „Synchronizer“ Konfigurationsdaten aus Apigee Edge abrufen und in eine lokale Redis-Datenbank schreiben kann. Andere Microgateway-Instanzen können dann so konfiguriert werden, dass sie ihre Konfigurationsdaten aus der Datenbank lesen. Diese Funktion erhöht die Resilienz von Edge Microgateway. Dadurch können Microgateway-Instanzen gestartet werden und funktionieren, ohne mit Apigee Edge kommunizieren zu müssen. Weitere Informationen finden Sie unter Synchronizer verwenden.

    Die Synchronisierungsfunktion wird derzeit für Redis 5.0.x unterstützt.

Version 3.0.x

Fehlerkorrekturen und Verbesserungen in Version 3.0.x

3.0.10

Am Freitag, den 8. November, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.0.10 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Fehlerkorrekturen und Verbesserungen:

  • 142677575: Es wurde eine Funktionsaktualisierung vorgenommen, sodass das Musterabgleich für Ressourcenpfade, die in API-Produkten für Edge Microgateway verwendet werden, jetzt dem Musterabgleich für Ressourcenpfade entspricht, der von Apigee Edge verwendet wird, wie in Verhalten eines Ressourcenpfads von „/“, „/*“ und „/**“ konfigurieren beschrieben.

    Hinweis: Wenn Sie ein zusammengesetztes Ressourcenmuster wie /*/2/** verwenden, muss der edgemicro_auth-Proxy einem eigenständigen API-Produkt hinzugefügt werden. Anschließend müssen Sie das Produkt in die Entwickler-App des Proxys aufnehmen, wie im folgenden Screenshot dargestellt:

    alt_text

    Hinweis: Das Konfigurationsattribut features.isSingleForwardSlashBlockingEnabled, wie unter Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren beschrieben, wird für Edge Microgateway nicht unterstützt.

  • 143740696 – Die Konfigurationsstruktur für quotas hat sich geändert (siehe auch die Versionshinweise für Version 3.0.9). Mit der quotas-Property wird das Kontingent-Plug-in konfiguriert. Die Struktur wurde geändert, um die Konfigurationselemente übersichtlicher zu gestalten. Verwenden Sie die folgende YAML-Konfiguration, um das Kontingent-Plug-in zu konfigurieren. Das Konfigurationsattribut heißt quotas. Weitere Informationen zu den einzelnen quotas-Konfigurationsattributen finden Sie unter Konfigurationsoptionen für Kontingente.

    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - quota
    quotas:
      bufferSize:
        hour: 20000
        minute: 500
        default: 10000
      useDebugMpId: true
      failOpen: true
    ...
  • 141750056 – Es wurde eine neue Funktion hinzugefügt, mit der Sie Redis als Quota-Backing-Store verwenden können. Wenn useRedis „true“ ist, wird das Modul volos-quota-redis verwendet. Wenn „true“, ist das Kontingent auf die Edge Microgateway-Instanzen beschränkt, die eine Verbindung zu Redis herstellen. Wenn „false“, wird das Modul volos-quota-apigee als Sicherungsspeicher verwendet und der Kontingentzähler ist global. Weitere Informationen finden Sie unter Konfigurationsoptionen für Kontingente. Beispiel:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210: Die Standardablaufzeit für Tokens, die vom edgemicro-auth-Proxy generiert werden, wurde von 108.000 Millisekunden (1,8 Minuten) auf 1.800 Sekunden (30 Minuten) geändert.
  • 143551282: Zur Unterstützung von SAML-fähigen Organisationen wurde der Befehl edgemicro genkeys um den Parameter ‑‑token erweitert. Mit diesem Parameter können Sie ein OAuth-Token für die Authentifizierung anstelle von Nutzername/Passwort verwenden. Weitere Informationen finden Sie unter Schlüssel generieren.

3.0.9

Am Freitag, dem 11. Oktober, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.0.9 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Fehlerkorrekturen und Verbesserungen:

  • 141989374: Für das Kontingent-Plug-in wurde eine neue „Fail Open“-Funktion hinzugefügt. Wenn diese Funktion aktiviert ist und ein Fehler bei der Kontingentverarbeitung auftritt oder die Anfrage „quota apply“ an Edge fehlschlägt, sodass die Remote-Kontingentzähler nicht aktualisiert werden, wird das Kontingent nur auf Grundlage der lokalen Zähler verarbeitet, bis die nächste erfolgreiche Remote-Kontingentsynchronisierung erfolgt. In beiden Fällen wird im Anfrageobjekt das Flag quota-failed-open gesetzt.

    Wenn Sie die Funktion „Fail Open“ für das Kontingent aktivieren möchten, legen Sie die folgende Konfiguration fest:

    quotas :
     failOpen : true

    Hinweis: Außerdem wurde das Flag des fail-open-Anfrageobjekts des OAuth-Plug-ins in oauth-failed-open geändert.

  • 142093764 – Es wurde eine Konfigurationsänderung am edgemicro-auth-Proxy vorgenommen, um Kontingentüberschreitungen zu verhindern. Die Änderung besteht darin, den Kontingenttyp auf calendar festzulegen. Wenn Sie diese Verbesserung nutzen möchten, müssen Sie edgemicro-auth auf Version 3.0.7 oder höher aktualisieren.
  • 142520568: Eine neue Funktion wurde hinzugefügt, mit der die MP-ID (Message Processor) in Kontingentantworten protokolliert werden kann. Wenn Sie diese Funktion verwenden möchten, müssen Sie Ihren edgemicro-auth-Proxy auf Version 3.0.7 oder höher aktualisieren und die folgende Konfiguration festlegen:
    quotas:
      useDebugMpId: true

    Wenn useDebugMpId festgelegt ist, enthalten Kontingentantworten von Edge die MP-ID und werden von Edge Microgateway protokolliert. Beispiel:

    {
        "allowed": 20,
        "used": 3,
        "exceeded": 0,
        "available": 17,
        "expiryTime": 1570748640000,
        "timestamp": 1570748580323,
        "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
    }

3.0.8

Am Donnerstag, dem 26. September, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.0.8 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Fehlerkorrekturen und Verbesserungen:

  • 140025210 – Es wurde eine neue „Fail Open“-Funktion hinzugefügt. Mit dieser Funktion kann die API-Verarbeitung fortgesetzt werden, wenn ein abgelaufenes JWT-Token aufgrund eines Verbindungsfehlers, der einen erfolgreichen API-Schlüssel-Prüfaufruf an den edgemicro-auth-Proxy verhindert, nicht aktualisiert werden kann.

    Mit dieser Funktion können Sie einen Kulanzzeitraum festlegen, in dem das alte Token im Cache verbleibt und wiederverwendet wird, bis der Kulanzzeitraum abläuft. Mit dieser Funktion kann Edge Microgateway Anfragen auch bei einem vorübergehenden Verbindungsfehler weiterverarbeiten. Wenn die Verbindung wiederhergestellt wird und ein erfolgreicher Aufruf der API-Schlüsselüberprüfung erfolgt, wird ein neues JWT abgerufen und ersetzt das alte JWT im Cache.

    So konfigurieren Sie das neue „Fail-Open“-Feature:

    1. Legen Sie im Abschnitt oauth der Edge Microgateway-Konfigurationsdatei die folgenden Attribute fest:
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      Beispiel:

      oauth:
        failOpen: true
        failopenGraceInterval: 5
        cacheKey: true
        ...

      In diesem Beispiel wird das alte Token 5 Sekunden lang verwendet, wenn es aufgrund eines Verbindungsproblems nicht aktualisiert werden kann. Nach 5 Sekunden wird ein Authentifizierungsfehler zurückgegeben.

  • 141168968: Die correlation_id wurde in die gesamte Logausgabe des Plug-ins aufgenommen. Außerdem wurden die Logebenen für einige Logs nach Bedarf in error geändert.
  • 140193349 – Der edgemicro-auth-Proxy wurde aktualisiert, sodass der Edge Microgateway-Schlüssel und das Edge Microgateway-Secret bei jeder Anfrage vom Typ „API-Schlüssel bestätigen“ überprüft werden müssen. Edge Microgateway wurde aktualisiert, sodass der Schlüssel und das Secret immer bei jeder Anfrage zum Prüfen des API-Schlüssels gesendet werden. Durch diese Änderung wird verhindert, dass Clients ein JWT nur mit einem API-Schlüssel erhalten.
  • 140090250: Es wurde ein Update vorgenommen, um die Diagnoseprotokollierung für die Kontingentverarbeitung hinzuzufügen. Durch diese Änderung ist es jetzt möglich, die Ausgabe des Kontingentlogs mit den restlichen Edge Microgateway-Logs in Beziehung zu setzen.

3.0.7

Am Donnerstag, dem 12. September, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern für die einzelnen Komponentenprojekte aufgeführt, die mit Edge Microgateway 3.0.7 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Versionsnummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway core config Plug-ins edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

Fehlerkorrekturen und Verbesserungen:

  • 140075602: Das OAuth-Plug‑in wurde aktualisiert, um bei Bedarf einen 5xx-Statuscode zurückzugeben. Bisher hat das Plug-in in allen Fällen, die nicht 200 waren, nur 4xx-Statuscodes zurückgegeben. Bei jeder Nachrichtenantwort, die keinen Statuscode 200 hat, wird jetzt der genaue 4xx- oder 5xx-Code zurückgegeben, je nach Fehler.

    Diese Funktion ist standardmäßig deaktiviert. Wenn Sie diese Funktion aktivieren möchten, fügen Sie Ihrer Edge Microgateway-Konfiguration das Attribut oauth.useUpstreamResponse: true hinzu. Beispiel:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623 – In Version 3.0.6 wurde das neue Konfigurationsattribut quota.quotaUri hinzugefügt. Legen Sie diese Konfigurationseigenschaft fest, wenn Sie Kontingente über den edgemicro-auth-Proxy verwalten möchten, der in Ihrer Organisation bereitgestellt wird. Wenn dieses Attribut nicht festgelegt ist, wird standardmäßig der interne Edge Microgateway-Endpunkt verwendet. Beispiel:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    In Version 3.0.7 wurde edgemicro-auth aktualisiert, um diese neue Konfiguration zu akzeptieren. Wenn Sie die quotaUri-Property verwenden möchten, müssen Sie auf den neuesten edgemicro-auth-Proxy aktualisieren. Weitere Informationen finden Sie unter edgemicro-auth-Proxy aktualisieren.

  • 140470888: Den Kontingentaufrufen wurde ein Autorisierungsheader hinzugefügt, um die Authentifizierung zu ermöglichen. Außerdem wurde der edgemicro-auth-Proxy so geändert, dass „organization“ aus der Kontingent-ID entfernt wird. Da sich der Kontingentendpunkt in der Organisation des Kunden befindet, ist die Kontingentkennung nicht mehr erforderlich.
  • 140823165 – Der folgende Attributname:
    edgemicro:
        keepAliveTimeout

    wurde in Version 3.0.6 falsch dokumentiert. Der richtige Eigenschaftsname lautet:

    edgemicro:
        keep_alive_timeout
  • 139526406 – Ein Fehler wurde behoben, bei dem eine falsche Kontingentanzahl angezeigt wurde, wenn eine Entwickler-App mehrere Produkte hatte. Das Kontingent wird jetzt für jedes Produkt in einer App mit mehreren Produkten korrekt durchgesetzt. Die Kombination aus „appName + productName“ wird als Kontingent-ID verwendet.

3.0.6

Am Donnerstag, dem 29. August, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

  • 138633700: Das neue Konfigurationsattribut keepAliveTimeout wurde hinzugefügt. Mit dieser Eigenschaft können Sie das Edge Microgateway-Zeitlimit (in Millisekunden) festlegen. (Standard: 5.000 Millisekunden)

    Beispiel:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623: Das neue Konfigurationsattribut quotaUri wurde hinzugefügt. Legen Sie diese Konfigurationseigenschaft fest, wenn Sie Kontingente über den edgemicro-auth-Proxy verwalten möchten, der in Ihrer Organisation bereitgestellt wird. Wenn dieses Attribut nicht festgelegt ist, wird standardmäßig der interne Edge Microgateway-Endpunkt verwendet. Beispiel:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Damit Sie diese Funktion verwenden können, müssen Sie zuerst die aktuelle Version des edgemicro-auth-Proxys in Ihrer Organisation bereitstellen. Weitere Informationen finden Sie unter edgemicro-auth-Proxy aktualisieren.

  • 138722809: Das neue stack_trace-Konfigurationsattribut wurde hinzugefügt. Mit dieser Property können Sie festlegen, ob Stacktraces in Logdateien angezeigt werden. Beispiel:
    stack_trace: false

    Wenn stack_trace auf true gesetzt ist, wird der Stacktrace in den Logs ausgegeben. Wenn sie auf false gesetzt ist, wird der Stacktrace nicht in Logs ausgegeben.

3.0.5

Am Donnerstag, den 15. August, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Behobene Fehler
  • 139005279 – Ein Problem wurde behoben, bei dem mit dem Befehl edgemicro status nicht die richtige Anzahl von Worker-Prozessen zurückgegeben wurde.
  • 138437710: Ein Problem in der ExitCounter-Klasse wurde behoben, das verhinderte, dass das richtige Log geschrieben wurde.
Allgemeine Verbesserungen bei Protokollmeldungen
  • 139064652: Die Logebenen trace und debug können jetzt für Ereignis- und Systemprotokolle hinzugefügt werden. Bisher wurde nur die Möglichkeit hinzugefügt, diese Protokollebenen hinzuzufügen. Derzeit sind die Logebenen info, warn und error verfügbar.
  • 139064616 – Die Logausgabe wurde für alle Konsolenlog-Anweisungen standardisiert. Konsolenprotokollierungsanweisungen enthalten jetzt folgende Attribute:
    • Zeitstempel
    • Komponentenname
    • Prozess-ID
    • Konsolenprotokollmeldung
Verbesserungen bei Logmeldungen für JWT-Schlüssel und ‑Secrets
  • 138413755 – Verbesserte Protokollmeldungen für JWT-Schlüssel und ‑Secrets für die folgenden CLI-Befehle: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey und configure.
Verbesserungen bei Fehlermeldungen zu Zeitüberschreitungen und Verbindungsverweigerungen
  • 138413577 – Fehlerbehandlung für Zeitüberschreitungen von Back-End-Diensten hinzufügen und verbessern.
  • 138413303 – Fehlerbehandlung für Antwort- und Socket-Timeouts hinzufügen und verbessern.
  • 138414116: Fehlerbehandlung für Fehler vom Typ „Verbindung verweigert“ hinzugefügt und verbessert.

3.0.4

Am Donnerstag, dem 1. August, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

  • 134445926 – Verbesserungen der internen Edge Microgateway-Authentifizierung.
  • 137582169: Es wurde ein Problem behoben, durch das unerwünschte Prozesse gestartet wurden. Die zusätzlichen Prozesse führten dazu, dass Plug-ins neu geladen wurden und zu viel Arbeitsspeicher verwendet wurde. Edge Microgateway hält die Anzahl der Prozesse jetzt innerhalb des erwarteten Limits.
  • 137768774 – Verbesserungen an Log-Nachrichten:
    • Bereinigte Transaktions- (Anfrage-)Logs.
    • Bei Bedarf wurden weitere Log-Nachrichten hinzugefügt.
    • Nachrichten für Transaktions- (Anfrage-)Logs wurden aus der Konsolenausgabe in die entsprechende Logdatei verschoben.
    • Die Konsolenlogs wurden aktualisiert, um eine zentralisierte Logging-Funktion zu verwenden.
  • 138321133, 138320563: Fundamentale interne Änderung des Kontingentpuffers, um zukünftige Kontingenterweiterungen zu ermöglichen.

3.0.3

Am Dienstag, dem 23. Juli, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

  • Verbesserungen bei der Protokollierung: Für vorhandene Laufzeitlogs wird eine neue eventLog()-Funktion verwendet, mit der Laufzeitdaten in einem einheitlichen Format erfasst und protokolliert werden. Die Protokollinformationen umfassen:
    • Zeitstempel (nach ISO 8601: JJJJ-MM-TTTHH:mm:ss.sssZ)
    • Log-Ebene (Fehler, Warnung oder Information).
    • Hostname: Der anfragende Hostname aus dem Anfrageheader.
    • Prozess-ID: Wenn Sie einen Cluster von Node.js-Prozessen ausführen, ist dies die ID des Prozesses, in dem die Protokollierung erfolgt ist.
    • Name der Apigee-Organisation.
    • Name der Umgebung in der Organisation.
    • Name des API-Proxys.
    • IP-Adresse des Clients.
    • ClientId.
    • Korrelations-ID (derzeit nicht festgelegt).
    • Name der Edge Microgateway-Komponente.
    • Benutzerdefinierte Nachricht: Bei einigen Objekten werden möglicherweise zusätzliche Informationen ausgegeben, die an diese Fehler-Property übergeben werden.
    • Anfragemethode (bei HTTP-Anfrage).
    • Antwortstatuscode (bei HTTP-Anfrage).
    • Fehlermeldung
    • Fehlercode: Wenn ein Objekt einen Fehlercode enthält, wird er in dieser Eigenschaft ausgegeben.
    • Benötigte Zeit
    • Betriebssystem Zeilenendezeichen.

    Null-Property-Werte führen zu leeren Klammern, [].

    Das folgende Beispiel zeigt das Logformat:

    Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]

    (137770055)

  • Leistung: API-Produkte wurden nicht nach Umgebung gefiltert. Dieses Problem wurde behoben. (135038879)
  • Verschiedene Integrationen von Funktionstests und Verbesserungen der Codequalität.

3.0.2

Am Mittwoch, dem 3. Juli 2019, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

Codequalität: Der Code wurde auf Qualität geprüft und es wurden Codeänderungen vorgenommen, um die von Nutzern geforderten Qualitätsstandards zu erfüllen. Wir haben Fehler und Warnungen zur Codequalität behoben, die von JSHint stammen. Es wurden einige tatsächliche Codefehler erkannt und behoben. Alle Apigee Edge Microgateway-Module wurden diesem Prozess unterzogen. Weitere Informationen finden Sie in den Commits vom 28. Juni und 2. Juli für microgateway-config, microgateway-core, microgateway-plugins und microgateway. Alle Module mit Änderungen an der Codequalität wurden mit internen Tools getestet, die die Ausführung von Edge Microgateway für Kundenanwendungsfälle überprüfen.

3.0.1

Am Freitag, dem 21. Juni 2019, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für Edge Microgateway veröffentlicht.

  • 134834551 – Unterstützte Node.js-Versionen für Edge Microgateway ändern
    (Unterstützte Node.js-Versionen: 8 und 12; Versionen 7, 9 und 11 sind experimentell)
  • 134751883 – Edge Microgateway stürzt beim erneuten Laden unter Last ab
  • 134518428 – Der Products-Endpunkt für Edge Microgateway gibt 5XX zurück, wenn das Filtermuster falsch ist
  • 135113408 – Worker sollten neu gestartet werden, wenn sie unerwartet beendet werden
  • 134945852 – „tokenCacheSize“ wird im OAuth-Plug-in nicht verwendet
  • 134947757 – cacheTTL im OAuth-Plug-in festlegen
  • 135445171 – Berechnung der Kulanzfrist in OAuth ist nicht korrekt
  • Das mit der Edge Microgateway-Installation bereitgestellte „memored“-Modul verwenden
  • 135367906 – Sicherheitsprüfung

Version 2.5.x

Neue Funktionen und Verbesserungen in Version 2.5.x

(Behoben in Version 2.5.38, 06.07.2019)

Falsch formatierte JWTs können dazu führen, dass Worker abstürzen, wenn der Tokencache verwendet wird. Behoben im Modul „Edge-Microgateway-Plug-ins“. (b/134672029)

(Hinzugefügt: 2.5.37) CLI-Option edgemicro-cert -t hinzufügen.

Mit der Option edgemicro cert -t können Sie ein OAuth-Token angeben, um Management APIs zu authentifizieren. Weitere Informationen finden Sie unter Zertifikate verwalten.

(Hinzugefügt in Version 2.5.35) Unterstützung für das Debuggen von Edge Microgateway mit edgemicroctl hinzugefügt.

Sie können das Flag mgdebug mit edgemicroctl verwenden. Siehe auch Kubernetes-Integrationsaufgaben.

(Hinzugefügt: 2.5.35) Windows-Build für edgemicroctl aktivieren:

(Hinzugefügt am 2.5.31) Neue API „edgemicro-auth/token“

Es wurde eine neue edgemicro-auth/token-API hinzugefügt, mit der Sie den Client/das Secret als Base64-codierten Basis-Autorisierungsheader und den grant_type als Formularparameter übergeben können. Weitere Informationen finden Sie unter Inhabertokens direkt abrufen.

(Behoben 2.5.31) Private Konfiguration berücksichtigt das Token-Flag nicht

Ein Problem wurde behoben, durch das die Konfiguration von Edge Microgateway für die Verwendung eines OAuth2-Zugriffstokens in Edge for Private Cloud nicht richtig funktionierte (das Token wurde nicht berücksichtigt).

Docker: Unterstützung für die Verwendung selbst signierter Zertifikate

(Hinzugefügt am 2.5.29) Wenn Sie eine Zertifizierungsstelle (Certificate Authority, CA) verwenden, die von Node.js nicht standardmäßig als vertrauenswürdig eingestuft wird, können Sie den Parameter NODE_EXTRA_CA_CERTS verwenden, wenn Sie einen Docker-Container mit Edge Microgateway ausführen. Weitere Informationen finden Sie unter Verwenden einer Zertifizierungsstelle, die von Node.js nicht als vertrauenswürdig eingestuft wird.

Docker: Support for TLS

(Hinzugefügt am 2.5.29) Edge Microgateway, das in einem Docker-Container ausgeführt wird, unterstützt jetzt TLS für eingehende Anfragen an den Edge Microgateway-Server (Northbound-Anfragen) und für ausgehende Anfragen von Edge Microgateway an eine Zielanwendung (Southbound-Anfragen).

In den folgenden Beispielen wird detailliert erläutert, wie Sie diese TLS-Konfigurationen einrichten:

In diesen Beispielen sehen Sie, wie Sie den Container-Mount-Point /opt/apigee/.edgemicro verwenden, um die Zertifikate zu laden, auf die dann in der Edge Microgateway-Konfigurationsdatei verwiesen wird.

Docker: Unterstützung für das Proxying von Anfragen

(Hinzugefügt am 2.5.27) Wenn Sie Edge Microgateway in einem Docker-Container ausführen, können Sie mit diesen Optionen das Proxyverhalten steuern, wenn das Microgateway hinter einer Firewall ausgeführt wird:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Weitere Informationen finden Sie unter Edge Micro als Docker-Container ausführen.

Docker: Aktualisierte Anleitung für das Plug-in

(Hinzugefügt am 27.05.2022) Wenn Sie Edge Microgateway in einem Docker-Container ausführen, haben Sie jetzt zwei Optionen zum Bereitstellen von Plug-ins. Eine Option, die einen Docker-Mountpunkt verwendet, ist neu. Die andere Option gab es bereits und sie ist im Grunde unverändert. Das Dockerfile wurde jedoch aktualisiert. Weitere Informationen finden Sie unter den folgenden Links:

Unterstützung neuer OAuth-Tokens für KVM-Upgrade-Befehl

(Hinzugefügt am 27.05.2024) Sie können ein OAuth-Token mit dem Befehl upgradekvm verwenden. Weitere Informationen finden Sie unter KVM aktualisieren.

APIs in Edge Analytics trennen

(Hinzugefügt am 2.5.26) Mit neuen Flags für das Analyse-Plug-in können Sie einen bestimmten API-Pfad trennen, sodass er in den Edge Analytics-Dashboards als separater Proxy angezeigt wird. Sie können beispielsweise Systemdiagnose-APIs abgrenzen, um Verwechslungen mit tatsächlichen API-Aufrufen zu vermeiden. Weitere Informationen finden Sie unter Pfade aus der Analyse ausschließen.

Lokalen Proxy konfigurieren

(Hinzugefügt am 2.5.25) Bei einem lokalen Proxy müssen Sie keinen Microgateway-fähigen Proxy in Apigee Edge manuell erstellen. Stattdessen wird der Basispfad des lokalen Proxys verwendet. Weitere Informationen finden Sie unter Lokalen Proxymodus verwenden.

Eigenständigen Modus verwenden

(Hinzugefügt am 2.5.25) Sie können Edge Microgateway vollständig ohne Abhängigkeit von Apigee Edge ausführen. In diesem Szenario, dem sogenannten Standalone-Modus, können Sie Edge Microgateway ohne Internetverbindung ausführen und testen. Weitere Informationen finden Sie unter Edge Microgateway im Standalone-Modus ausführen.

Schlüssel widerrufen

(Hinzugefügt am 2.5.2019) Ein neuer CLI-Befehl wurde hinzugefügt, mit dem die Schlüssel- und Secret-Anmeldedaten für eine Edge Microgateway-Konfiguration widerrufen werden.

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Weitere Informationen finden Sie unter Schlüssel widerrufen.

Docker-Unterstützung

(Hinzugefügt am 2.5.19) Sie können die aktuelle Version von Edge Microgateway jetzt als Docker-Image herunterladen:

docker pull gcr.io/apigee-microgateway/edgemicro:latest

Kubernetes-Unterstützung

(Hinzugefügt am 2.5.2019) Sie können Edge Microgateway als Dienst oder als Sidecar-Gateway vor Diensten bereitstellen, die in einem Kubernetes-Cluster bereitgestellt werden. Weitere Informationen finden Sie unter Edge Microgateway in Kubernetes einbinden.

Unterstützung der TCP-Option „nodelay“

(Hinzugefügt in Version 2.5.16) Der Edge Micro-Konfiguration wurde die neue Konfigurationseinstellung nodelay hinzugefügt.

Standardmäßig verwenden TCP-Verbindungen den Nagle-Algorithmus, um Daten zu puffern, bevor sie gesendet werden. Wenn Sie nodelay auf true festlegen, wird dieses Verhalten deaktiviert. Daten werden sofort gesendet, wenn socket.write() aufgerufen wird. Weitere Informationen finden Sie auch in der Node.js-Dokumentation.

So aktivieren Sie nodelay: Bearbeiten Sie die Edge Micro-Konfigurationsdatei so:

edgemicro:
  nodelay: true
  port: 8000
  max_connections: 1000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Neue Befehlszeilenoptionen für die kontinuierliche Überwachung

(Hinzugefügt am 2.5.12) Dem edgemicro forever-Befehl wurden neue Parameter hinzugefügt. Mit diesen Parametern können Sie den Speicherort der Datei forever.json angeben und den Hintergrundprozess „Forever“ starten oder beenden. Siehe auch Dauerhaftes Monitoring

ParameterBeschreibung
-f, --fileGibt den Speicherort der forever.json-Datei an.
-a, --actionstart oder stop. Der Standardwert ist „start“.

Beispiele:

So starten Sie Forever:

edgemicro forever -f ~/mydir/forever.json -a start

So beenden Sie Forever:

edgemicro forever -a stop

JWT-Schlüsselrotation

Es wurde eine neue Funktion hinzugefügt, mit der Sie die öffentlichen/privaten Schlüsselpaare rotieren können, die zum Generieren der JWT-Tokens verwendet werden, die für die OAuth-Sicherheit in Edge Microgateway verwendet werden. Weitere Informationen finden Sie unter JWT-Schlüssel rotieren.

Heruntergeladene API-Proxys filtern

Standardmäßig lädt Edge Microgateway alle Proxys in Ihrer Edge-Organisation herunter, die mit dem Namenspräfix „edgemicro_“ beginnen. Sie können diese Standardeinstellung ändern, um Proxys herunterzuladen, deren Namen einem Muster entsprechen. Weitere Informationen finden Sie unter Heruntergeladene Proxys filtern.

Produkte ohne API-Proxys angeben

In Apigee Edge können Sie ein API-Produkt erstellen, das keine API-Proxys enthält. Mit dieser Produktkonfiguration kann ein API-Schlüssel, der mit diesem Produkt verknüpft ist, für jeden in Ihrer Organisation bereitgestellten Proxy verwendet werden. Ab Version 2.5.4 unterstützt Edge Microgateway diese Produktkonfiguration.

Unterstützung für das Monitoring auf unbestimmte Zeit

Edge Microgateway hat eine forever.json-Datei, die Sie konfigurieren können, um festzulegen, wie oft und in welchen Intervallen Edge Microgateway neu gestartet werden soll. Diese Datei konfiguriert einen Dienst namens „forever-monitor“, der Forever programmatisch verwaltet. Weitere Informationen finden Sie unter Dauerhaftes Monitoring.

Zentrale Verwaltung der Edge Micro-Konfigurationsdatei

Wenn Sie mehrere Edge Microgateway-Instanzen ausführen, möchten Sie ihre Konfigurationen möglicherweise an einem zentralen Ort verwalten. Dazu geben Sie einen HTTP-Endpunkt an, von dem Edge Micro die Konfigurationsdatei herunterladen kann. Weitere Informationen finden Sie unter Konfigurationsdatei-Endpoint angeben.

Unterstützung für die CLI-Option „forever“

(Hinzugefügt in Version 2.5.8) Verwenden Sie den Befehl edgemicro forever [package.json], um den Speicherort der Datei forever.json anzugeben. Vor der Hinzufügung dieses Befehls musste sich die Konfigurationsdatei im Edge Microgateway-Stammverzeichnis befinden.

Beispiel:

edgemicro forever ~/mydir/forever.json

Option „configUrl“ für den Befehl „reload“ hinzugefügt

(Hinzugefügt in Version 2.5.8) Sie können jetzt die Option --configUrl oder -u mit dem Befehl edgemicro reload verwenden.

Kulanzzeitraum für Zeitabweichungen bei JWTs

(Hinzugefügt in Version 2.5.7) Das Attribut gracePeriod in der OAuth-Konfiguration kann Fehler verhindern, die durch geringfügige Abweichungen zwischen Ihrer Systemuhr und den im JWT-Autorisierungstoken angegebenen Zeiten „Not Before“ (nbf) oder „Issued At“ (iat) verursacht werden. Legen Sie für dieses Attribut die Anzahl der Sekunden fest, die für solche Abweichungen zulässig sind. Weitere Informationen finden Sie unter OAuth-Attribute.

(Hinzugefügt in Version 2.5.7) Das Attribut gracePeriod in der OAuth-Konfiguration kann Fehler verhindern, die durch geringfügige Abweichungen zwischen Ihrer Systemuhr und den im JWT-Autorisierungstoken angegebenen Zeiten „Not Before“ (nbf) oder „Issued At“ (iat) verursacht werden. Legen Sie für dieses Attribut die Anzahl der Sekunden fest, die für solche Abweichungen zulässig sind. Weitere Informationen finden Sie unter OAuth-Attribute.

Behobene Fehler in Version 2.5.x

  • (Problem 236) Tippfehler beim Leeren des Cache korrigiert.
  • (Problem 234) Neuladen stürzt für Edge Microgateway 2.5.35 ab.
  • (Problem 135) Fehler „Ungültiger Verweis auf virtuellen Host ‚secure‘“ bei Verwendung der Option -v. Mit dieser Korrektur wird der edgemicro-auth-Proxy vor der Bereitstellung so geändert, dass die virtuellen Hosts genau mit den Angaben im Flag „-v“ übereinstimmen. Außerdem können Sie eine beliebige Anzahl von VirtualHosts mit beliebigen Namen angeben (nicht mehr auf „default“ und „secure“ beschränkt).
  • (Problem 141) Der Befehl edgemicro reload unterstützt die Konfigurationsdateioption -c nicht. Dieses Problem wurde behoben.
  • (Problem 142) Edge Microgateway meldet bei der Installation veraltete Kryptografie. Dieses Problem wurde behoben.
  • (Problem 145) Kontingent funktioniert nicht mit Edge Microgateway. Dieses Problem wurde behoben.
  • (Apigee Community-Problem: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) JWT-Token wird sowohl für API-Proxys als auch für den Ressourcen-URI in OAUTH validiert. Dieses Problem wurde behoben.
  • (Apigee-Community-Problem: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway funktioniert nicht mit OAuth. Dieses Problem wurde behoben.
  • pidPath unter Windows korrigieren.
  • (Problem 157) Das Problem, das die folgende Fehlermeldung verursacht hat, wurde behoben: ReferenceError: deployProxyWithPassword ist nicht definiert.
  • (Problem 169) Node.js-Abhängigkeiten aktualisieren (npm audit)
  • Der edgemicro-auth-Proxy verwendet jetzt die Edge-JWT-Richtlinien. Der Proxy ist nicht mehr auf Node.js angewiesen, um JWT-Unterstützung zu bieten.

Version 2.4.x

Neue Funktionen und Verbesserungen in Version 2.4.x

1. Benutzerdefinierten Alias für den edgemicro-auth-Proxy festlegen (PR 116)

Sie können den Standard-Basispfad für den edgemicro-auth-Proxy ändern. Der Basispfad ist standardmäßig /edgemicro-auth. Verwenden Sie zum Ändern des Werts das Flag -x für den Befehl edgemicro configure.

Beispiel:

edgemicro configure -x /mypath …


2. Unterstützung von Platzhaltern für Basispfade (PR 77)

Sie können im Basispfad eines edgemicro_*-Proxys einen oder mehrere *-Platzhalter verwenden. Mit dem Basispfad /team/*/members können Clients beispielsweise https://[host]/team/blue/members und https://[host]/team/green/members aufrufen, ohne dass Sie neue API-Proxys zur Unterstützung neuer Teams erstellen müssen. Beachten Sie, dass /**/ nicht unterstützt wird.

Wichtig:Apigee unterstützt NICHT die Verwendung eines Platzhalters „*“ als erstes Element eines Basispfads. Dies wird beispielsweise NICHT unterstützt: /*/search.

3. Benutzerdefinierter Konfigurationspfad, der der CLI für die Private Cloud-Konfiguration hinzugefügt wurde (PR 99)

Die Microgateway-Konfigurationsdatei befindet sich standardmäßig in ./config/config.yaml. Bei den Befehlen „init“, „configure“ und „start“ können Sie jetzt einen benutzerdefinierten Konfigurationspfad in der Befehlszeile mit den Flags -c oder --configDir angeben. Ein Problem wurde behoben, bei dem ein benutzerdefiniertes Konfigurationsverzeichnis für Private Cloud-Installationen nicht erkannt wurde.

Beispiel:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

4. *_PROXY-Variablen berücksichtigen (PR 61)

Wenn Edge Microgateway hinter einer Firewall installiert ist und nicht mit Apigee Edge in der öffentlichen Cloud kommunizieren kann, haben Sie zwei Möglichkeiten:

Option 1:

Die erste Option besteht darin, die Option „edgemicro: proxy_tunnel“ in der Microgateway-Konfigurationsdatei auf „true“ zu setzen:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

Wenn proxy_tunnel auf true gesetzt ist, verwendet Edge Microgateway die HTTP-CONNECT-Methode, um HTTP-Anfragen über eine einzelne TCP-Verbindung zu tunneln. Dasselbe gilt, wenn die Umgebungsvariablen zum Konfigurieren des Proxys TLS-fähig sind.

Option 2:

Die zweite Möglichkeit besteht darin, einen Proxy anzugeben und proxy_tunnel in der Microgateway-Konfigurationsdatei auf false zu setzen. Beispiel:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: false

In diesem Fall können Sie die folgenden Variablen festlegen, um die Hosts für jeden HTTP-Proxy zu steuern, den Sie verwenden möchten, oder um anzugeben, welche Hosts keine Edge Microgateway-Proxys verarbeiten sollen: HTTP_PROXY, HTTPS_PROXY und NO_PROXY. Sie können NO_PROXY als durch Kommas getrennte Liste von Domains festlegen, für die Edge Microgateway keinen Proxy verwenden soll. Beispiel:

export HTTP_PROXY='http://localhost:3786'
export HTTPS_PROXY='https://localhost:3786'

Weitere Informationen zu diesen Variablen finden Sie hier:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


5. Benutzerdefiniertes Zeitlimit für Zielanfragen festlegen (PR 57)

Mit dieser Konfiguration können Sie ein benutzerdefiniertes Zeitlimit für Zielanfragen festlegen:

edgemicro:
    request_timeout: 10

Das Zeitlimit wird in Sekunden festgelegt. Wenn ein Zeitlimit auftritt, antwortet Edge Microgateway mit dem Statuscode 504.

6. Benutzerdefinierte HTTP-Statusmeldungen in der Zielantwort berücksichtigen (PR 53)

Edge Microgateway berücksichtigt benutzerdefinierte HTTP-Statusmeldungen, die in der Zielantwort festgelegt sind. In früheren Releases wurden Statusmeldungen, die vom Ziel gesendet wurden, mit Node.js-Standardwerten überschrieben.

7. Mit dem X-Forwarded-For-Header kann die client_ip für Analytics festgelegt werden.

Falls vorhanden, wird mit dem X-Forwarded-For-Header die Variable client_ip festgelegt, die in Edge Analytics gemeldet wird. Mit dieser Funktion können Sie die IP-Adresse des Clients ermitteln, der eine Anfrage an Edge Microgateway gesendet hat.

8. Änderungen am OAuth-Plug-in

Das OAuth-Plug-in unterstützt die Überprüfung von API-Schlüsseln und OAuth-Zugriffstokens. Vor dieser Änderung akzeptierte das Plug-in beide Sicherheitsformen. Mit dieser Änderung können Sie nur eines dieser Sicherheitsmodelle zulassen und gleichzeitig die Abwärtskompatibilität beibehalten.

Das OAuth-Plug-in fügt zwei neue Flags hinzu:

  • allowOAuthOnly: Wenn auf true gesetzt, muss jede API einen Autorisierungs-Header mit einem Bearer-Zugriffstoken enthalten.

  • allowAPIKeyOnly: Wenn auf true gesetzt, muss jede API einen x-api-key-Header (oder einen benutzerdefinierten Speicherort) mit einem API-Schlüssel enthalten.

Sie legen diese Flags in der Edge Microgateway-Konfigurationsdatei so fest:

oauth:
    allowNoAuthorization: false
    allowInvalidAuthorization: false
    keep-authorization-header: false
    allowOAuthOnly: false
    allowAPIKeyOnly: false

9. Der edgemicro-auth-Proxy wurde verbessert (PR 40).

Der edgemicro-auth-Proxy wurde verbessert. Vor diesen Änderungen wurden die Schlüssel im Edge Secure Store, einem verschlüsselten Tresor, gespeichert. Der Proxy speichert jetzt Schlüssel in der verschlüsselten Schlüssel/Wert-Zuordnung (KVM) von Edge.

10. Standard-Ziel-URL in einem Plugin neu schreiben (PR 74)

Sie können auch den Port des Zielendpunkts überschreiben und zwischen HTTP und HTTPS wählen. Ändern Sie diese Variablen in Ihrem Plug-in-Code: req.targetPort und req.targetSecure. Wenn Sie HTTPS auswählen möchten, legen Sie req.targetSecure auf true fest. Für HTTP legen Sie es auf false fest. Wenn Sie „req.targetSecure“ auf „true“ setzen, finden Sie in diesem Diskussionsforum weitere Informationen.

11. Erste Unterstützung für die OAuth-Token-Authentifizierung (PR 125)

Sie können Edge Microgateway so konfigurieren, dass anstelle von Nutzername/Passwort ein OAuth-Token für die Authentifizierung verwendet wird. Wenn Sie ein OAuth-Token verwenden möchten, verwenden Sie den folgenden Parameter für den Befehl edgemicro configure:

-t, --token <token>

Beispiel:

edgemicro configure -o docs -e test -t <your token>

Behobene Fehler in Version 2.4.3

  • Ein Problem wurde behoben, bei dem eine kostenpflichtige Organisation erforderlich war, um den edgemicro-auth-Proxy ordnungsgemäß auszuführen. Jetzt können Sie Edge Microgateway auch mit Testorganisationen verwenden. (PR 5)
  • Ein Problem wurde behoben, bei dem die Verarbeitung von Daten im Stream noch nicht abgeschlossen war, die End-Handler aber trotzdem ausgeführt wurden. Daher wurde eine Teilantwort gesendet. (PR 71)
  • Ein Problem wurde behoben, bei dem ein benutzerdefiniertes Konfigurationsverzeichnis für Private Cloud-Installationen nicht erkannt wurde. (PR 110)
  • Ein Problem mit der bidirektionalen SSL zwischen dem Client und Edge Microgateway wurde behoben. (PR 70)
  • Ein Problem wurde behoben, bei dem ein nachgestellter Schrägstrich im Proxy-Basispfad erforderlich war, damit die API-Schlüsselüberprüfung ordnungsgemäß funktioniert. Ein nachgestellter Schrägstrich am Ende des Basispfads ist nicht mehr erforderlich. (PR 48)

Version 2.3.5

Neue Funktionen und Verbesserungen in Version 2.3.5

Proxy-Filterung

Sie können filtern, welche Microgateway-kompatiblen Proxys von einer Edge Microgateway-Instanz verarbeitet werden. Beim Start von Edge Microgateway werden alle Microgateway-kompatiblen Proxys in der zugehörigen Organisation heruntergeladen. Verwenden Sie die folgende Konfiguration, um einzuschränken, welche Proxys vom Microgateway verarbeitet werden. Diese Konfiguration beschränkt die Proxys, die das Microgateway verarbeitet, auf drei: edgemicro_proxy-1, edgemicro_proxy-2 und edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Analytics-Datenmaskierung

Mit einer neuen Konfiguration können Sie verhindern, dass Informationen zum Anfragepfad in Edge-Analysen angezeigt werden. Fügen Sie der Microgateway-Konfiguration Folgendes hinzu, um den Anfrage-URI und/oder den Anfragepfad zu maskieren. Der URI besteht aus dem Hostnamen und den Pfadteilen der Anfrage.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

Version 2.3.3

Neue Funktionen und Verbesserungen in Version 2.3.3

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Automatische Abfrage von Änderungen deaktivieren

Sie können das automatische Abrufen von Änderungen deaktivieren, indem Sie dieses Attribut in der Microgateway-Konfiguration festlegen:

disabled_config_poll_interval: true

Standardmäßig werden bei der regelmäßigen Abfrage alle Änderungen, die in Edge vorgenommen wurden (Änderungen an Produkten, Microgateway-kompatiblen Proxys usw.), sowie Änderungen an der lokalen Konfigurationsdatei erfasst. Das Standard-Polling-Intervall beträgt 600 Sekunden (5 Minuten).

Ziel-URLs in Plugins umschreiben

Sie können die Standardziel-URL in einem Plug-in dynamisch überschreiben, indem Sie die folgenden Variablen in Ihrem Plug-in-Code ändern: req.targetHostname und req.targetPath.

Neue Signatur der Plug-in-Funktion

Es wurde eine neue Plugin-Funktionssignatur hinzugefügt, die die Zielantwort als Argument bereitstellt. Dadurch können Plugins leichter auf die Zielantwort zugreifen.

function(sourceRequest, sourceResponse, targetResponse, data, cb)

Vereinfachte Standardausgabe für die Protokollierung

Standardmäßig wird das JSON heruntergeladener Proxys, Produkte und JWTs jetzt vom Logging-Dienst ausgelassen. Sie können die Standardeinstellung ändern, sodass diese Objekte ausgegeben werden, indem Sie DEBUG=* festlegen, wenn Sie Edge Microgateway starten. Beispiel:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

Benutzerdefinierter Konfigurationspfad zur Befehlszeile hinzugefügt

Standardmäßig befindet sich die Microgateway-Konfigurationsdatei unter ./config/config.yaml. Bei den Befehlen „init“, „configure“ und „start“ können Sie jetzt einen benutzerdefinierten Konfigurationspfad in der Befehlszeile angeben. Beispiel:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

Behobene Fehler in Version 2.3.3

  • Ein Speicherleck wurde behoben, das bei großen Anfragen/Antworten auftrat.
  • Die Reihenfolge der Plug‑in-Ausführung wurde korrigiert. Sie verhält sich jetzt so, wie in der Dokumentation beschrieben.
  • Das Plugin „accumulate-request“ bleibt bei GET-Anfragen nicht mehr hängen.
  • Ein Problem im Plugin „accumulate-response“ wurde behoben, bei dem das Fehlen eines Antworttexts Fehler verursacht hat.

Version 2.3.1

Installationshinweis

In einigen früheren Versionen von Edge Microgateway konnten Sie die Software installieren, indem Sie eine ZIP-Datei heruntergeladen haben. Diese ZIP-Dateien werden nicht mehr unterstützt. Für die Installation von Edge Microgateway müssen Sie Folgendes verwenden:

npm install -g edgemicro

Weitere Informationen finden Sie im Installationsartikel.

Neue Funktionen und Verbesserungen in Version 2.3.1

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Filterproxys

Mit einer neuen Konfiguration können Sie filtern, welche Proxys beim Start von Edge Microgateway geladen werden. Bisher wurden vom Microgateway alle Microgateway-kompatiblen Proxys (Proxys mit dem Namen „edgemicro_*“) geladen, die aus der Edge-Organisation/-Umgebung abgerufen wurden, die Sie im Befehl „edgemicro configure“ angegeben haben. Mit dieser neuen Funktion können Sie die Liste der Proxys filtern, sodass Edge Microgateway nur die von Ihnen angegebenen Proxys lädt. Fügen Sie der Microgateway-Konfigurationsdatei einfach das Proxies-Element hinzu:

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

Angenommen, Sie haben 50 edgemicro_*-Proxys in Ihrer Edge-Organisation/Umgebung, darunter die Proxys edgemicro_foo und edgemicro_bar. Sie können das Microgateway so konfigurieren, dass nur diese beiden Proxys verwendet werden:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Beim Start kann das Microgateway nur die angegebenen Proxys aufrufen. Alle Versuche, andere Microgateway-kompatible Proxys aufzurufen, die aus der Edge-Organisation/-Umgebung heruntergeladen wurden, führen zu einem Fehler.

Zielanfrageheader in Plugins festlegen

Es gibt zwei grundlegende Muster, die Sie berücksichtigen müssen, wenn Sie Zielanfrage-Headern hinzufügen oder sie ändern möchten: eines, bei dem die eingehende Anfrage Daten enthält (wie bei einer POST-Anfrage), und eines, bei dem dies nicht der Fall ist (wie bei einer einfachen GET-Anfrage).

Angenommen, die eingehende Anfrage enthält Daten und Sie möchten Anfrageheader für die Zielanfrage festlegen. In früheren Versionen von Edge Microgateway war es in diesem Fall nicht möglich, Zielheader zuverlässig festzulegen.

Der Schlüssel zu diesem Muster besteht darin, zuerst alle eingehenden Daten vom Client zu erfassen. Verwenden Sie dann in der Funktion onend_request() die neue Funktion request.setOverrideHeader(name, value), um die Header anzupassen.

Hier ist ein Beispiel für einen Plug-in-Code, der zeigt, wie das geht. Die in onend_request festgelegten Header werden an das Ziel gesendet:

module.exports.init = function(config, logger, stats) {


  function accumulate(req, data) {
    if (!req._chunks) req._chunks = [];
    req._chunks.push(data);
  }

  return {

    ondata_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      next(null, null);
    },

    onend_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      var content = Buffer.concat(req._chunks);
      delete req._chunks;
      req.setOverrideHeader('foo', 'bar');
      req.setOverrideHeader('content-length', content.length);
      next(null, content);
    },


    onerror_request: function(req, res, data, next) {
      next(null, null);
    }

  };

}

Wenn die Anfrage keine Daten enthält, können Sie Zielheader im onrequest()-Handler festlegen. Dieses Muster ist nicht neu. Es wurde bereits dokumentiert und in den Beispiel-Plug-ins verwendet, die mit Edge Microgateway bereitgestellt werden.

onrequest: function(req, res, next) {
      debug('plugin onrequest');
      req.headers['x-foo-request-id'] = "bar";
      req.headers['x-foo-request-start'] = Date.now();
      next();
    }

Funktion zum Aktualisieren ohne Ausfallzeiten

Nachdem Sie eine Konfigurationsänderung an Edge Microgateway vorgenommen haben, können Sie die Konfiguration laden, ohne dass Nachrichten verloren gehen. Durch diese Änderung wird Edge Microgateway immer im Clustermodus gestartet und die Option --cluster wurde aus dem Befehl edgemicro start entfernt.

Außerdem wurden drei neue Befehlszeilenbefehle hinzugefügt. Sie müssen diese Befehle im selben Verzeichnis ausführen, in dem der Befehl „edgemicro start“ ausgeführt wurde:

  • edgemicro status – Prüft, ob Edge Microgateway ausgeführt wird.
  • edgemicro stop: Stoppt den Edge Microgateway-Cluster.
  • edgemicro reload – Lädt die Edge Microgateway-Konfiguration ohne Ausfallzeit neu.

Automatisches Neuladen der Konfiguration ohne Ausfallzeit

Edge Microgateway lädt regelmäßig eine neue Konfiguration und führt einen Reload aus, wenn sich etwas geändert hat. Beim Polling werden alle Änderungen erfasst, die in Edge vorgenommen wurden (Änderungen an Produkten, Microgateway-kompatiblen Proxys usw.), sowie Änderungen an der lokalen Konfigurationsdatei. Das Standard-Polling-Intervall beträgt 600 Sekunden (5 Minuten). Sie können die Standardeinstellung in der Microgateway-Konfigurationsdatei so ändern:

edgemicro:
    config_change_poll_interval: [seconds]

Versionsinformationen zur CLI hinzugefügt

Der Befehlszeile wurde das Flag --version hinzugefügt. So rufen Sie die aktuelle Version von Edge Microgateway ab:

edgemicro --version

Neue SSL-Optionen für Edge Microgateway-Server

Edge Microgateway unterstützt jetzt zusätzlich zu key und cert die folgenden Server-SSL-Optionen:

Option Beschreibung
pfx Pfad zu einer pfx-Datei, die den privaten Schlüssel, das Zertifikat und die CA-Zertifikate des Clients im PFX-Format enthält.
passphrase Ein String mit der Passphrase für den privaten Schlüssel oder die PFX-Datei.
ca Pfad zu einer Datei, die eine Liste vertrauenswürdiger Zertifikate im PEM-Format enthält.
ciphers Ein String, der die zu verwendenden Chiffren beschreibt, getrennt durch „:“.
rejectUnauthorized Wenn „true“, wird das Serverzertifikat anhand der Liste der bereitgestellten Zertifizierungsstellen überprüft. Wenn die Überprüfung fehlschlägt, wird ein Fehler zurückgegeben.
secureProtocol Die zu verwendende SSL-Methode. Beispiel: SSLv3_method, um SSL auf Version 3 zu erzwingen.
servername Der Servername für die SNI-TLS-Erweiterung (Server Name Indication).

Log-Dateien an stdout senden

Mit einer neuen Konfigurationseinstellung können Sie Logdaten an die Standardausgabe senden:

edgemicro:
  logging:
    to_console: true  

Weitere Informationen finden Sie unter Logdateien verwalten.

Version 2.1.2

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Benutzerdefinierten API-Endpunkt für die Konfiguration zulassen

Es gibt neue konfigurierbare Endpunkte für den Autorisierungsproxy, die die Verwendung eines benutzerdefinierten Autorisierungsdienstes unterstützen. Folgende Endpunkte sind verfügbar:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Weitere Informationen finden Sie unter Benutzerdefinierten Authentifizierungsdienst verwenden.

Version 2.1.1

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Plattformübergreifende Bereitstellung des Authentifizierungsproxys

Es wurde eine Verbesserung vorgenommen, sodass der Befehl zum Bereitstellen des Edge Microgateway-Autorisierungsproxys in Edge auf Windows-Systemen kompatibel ist.

Version 2.1.0

Neue Funktionen und Verbesserungen in Version 21.0

Im Folgenden sind die neuen Funktionen und Verbesserungen aufgeführt:

SSL/TLS-Clientoptionen angeben

Sie können Clientoptionen für SSL/TLS-Verbindungen zu Zielen mit einer neuen Reihe von Konfigurationsoptionen angeben. Weitere Informationen finden Sie unter Client-SSL/TLS-Optionen verwenden.

Version 2.0.11

Installationshinweis v2.0.11

In einigen früheren Versionen von Edge Microgateway konnten Sie die Software installieren, indem Sie eine ZIP-Datei heruntergeladen haben. Diese ZIP-Dateien werden nicht mehr unterstützt. Für die Installation von Edge Microgateway müssen Sie Folgendes verwenden:

npm install -g edgemicro

Weitere Informationen finden Sie im Installationsartikel.

Neue Funktionen und Verbesserungen – Version 2.0.11

Im Folgenden sind die neuen Funktionen und Verbesserungen aufgeführt:

Port beim Start angeben

Mit dem Startbefehl können Sie eine Portnummer angeben, um den in der Konfigurationsdatei angegebenen Port zu überschreiben. Sie können auch eine Portnummer mit der Umgebungsvariable PORT angeben. Weitere Informationen finden Sie unter Startbefehl.

Optional: Auth-Header beibehalten

Mit der neuen Konfigurationseinstellung keepAuthHeader können Sie den Autorisierungsheader beibehalten, der in der Anfrage gesendet wird. Wenn auf „true“ gesetzt, wird der Auth-Header an das Ziel weitergeleitet. Weitere Informationen finden Sie unter OAuth-Attribute.

Benutzerdefinierten Autorisierungsdienst verwenden

Wenn Sie einen eigenen benutzerdefinierten Dienst für die Authentifizierung verwenden möchten, ändern Sie den Wert authUri in der Edge Microgateway-Konfigurationsdatei, sodass er auf Ihren Dienst verweist. Weitere Informationen finden Sie unter Benutzerdefinierten Authentifizierungsdienst verwenden.

Version 2.0.4

Edge Microgateway v.2.0.4 wurde am 25. Mai 2016 veröffentlicht.

Neue Funktionen und Verbesserungen in Version 2.0.4

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Unterstützung von Ressourcenpfaden in Produkten

Edge Microgateway unterstützt jetzt Ressourcenpfade in Produkten. Mit Ressourcenpfaden können Sie den Zugriff auf APIs basierend auf dem Proxy-Pfadsuffix einschränken. Weitere Informationen zum Erstellen von Produkten und Konfigurieren von Ressourcenpfaden finden Sie unter API-Produkte erstellen.

Unterstützung für die globale Installation von npm

Sie können Edge Microgateway jetzt mit der npm-Option „-g“ (global) installieren. Weitere Informationen zu dieser Option finden Sie in der npm-Dokumentation.

Version 2.0.0

Edge Microgateway v2.0.0 wurde am 18. April 2016 veröffentlicht.

Neue Funktionen und Verbesserungen in Version 2.0.0

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Einzelner Prozessserver

Edge Microgateway ist jetzt ein Server mit einem einzelnen Prozess. Es wird kein Zwei-Prozess-Modell mehr verwendet, bei dem ein Prozess (früher als „Agent“ bezeichnet) Edge Microgateway, den zweiten Prozess, startet. Die neue Architektur erleichtert die Automatisierung und Containerisierung.

Konfigurationsdateien mit Namespaces

Konfigurationsdateien werden jetzt mit Organisation und Umgebung versehen, sodass mehrere Microgateway-Instanzen auf demselben Host ausgeführt werden können. Die Konfigurationsdateien finden Sie unter „~/.edgemicro“, nachdem Sie den Edge Microgateway-Konfigurationsbefehl ausgeführt haben.

Neue Umgebungsvariablen

Es gibt jetzt vier Umgebungsvariablen: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY und EDGEMICRO_SECRET. Wenn Sie diese Variablen in Ihrem System festlegen, müssen Sie ihre Werte nicht angeben, wenn Sie die Befehlszeilenschnittstelle (Command-Line Interface, CLI) zum Konfigurieren und Starten von Edge Microgateway verwenden.

Konfiguration im Cache

Edge Microgateway verwendet eine Konfigurationsdatei im Cache, wenn es ohne Verbindung zu Apigee Edge neu gestartet wird .

Clustermodus

Es gibt jetzt Optionen zum Starten von Edge Microgateway im Clustermodus. Im Clustermodus können Sie die Vorteile von Mehrkernsystemen nutzen. Das Microgateway verwendet für diese Funktion das Node.js-Clustermodul. Weitere Informationen finden Sie in der Node.js-Dokumentation.

Behobene Fehler in Version 2.0.0

Der Lebenszyklus von Plugin-Ereignissen verarbeitet jetzt asynchronen Code, der Code mit einem neuen Callback enthält, ordnungsgemäß.

Version 1.1.2

Edge Microgateway v. 1.1.2 wurde am 14. März 2016 veröffentlicht.

Neue Funktionen und Verbesserungen – Version 1.1.2

Im Folgenden sind die neuen Funktionen und Verbesserungen in diesem Release aufgeführt.

Leistungssteigerung

Edge Microgateway verwendet jetzt den Node.js-HTTP-Agenten ordnungsgemäß für ein besseres Verbindungspooling. Diese Verbesserung führt zu einer höheren Leistung und Stabilität bei hoher Last.

Unterstützung für Remotedebugger

Sie können Edge Microgateway so konfigurieren, dass es mit einem Remote-Debugger wie node-inspector ausgeführt wird.

Neuer Speicherort der Konfigurationsdatei

Wenn Sie Edge Microgateway konfigurieren, wird die Datei agent/config/default.yaml jetzt in ~./edgemicro/config.yaml kopiert.

Rotation von Protokolldateien

Mit einem neuen Konfigurationsattribut können Sie ein Rotationsintervall für Edge Microgateway-Logs angeben.

Behobene Fehler v1.1.2

Die folgenden Fehler wurden in Version 1.1.2 behoben.

Beschreibung
Der Java-Callout für den internen edgemicro-Proxy, der mit der On-Premise-Version von Edge verwendet wird, nutzt jetzt den richtigen MGMT-Server.
Entfernen Sie TypeScript-Abhängigkeiten aus dem Agent.
Ein CLI-Fehler bei Verwendung der Option für die schlanke Bereitstellung wurde behoben.
Referenz für die Abhängigkeit der Zertifizierungslogik korrigieren