Edge Microgateway-Versionshinweise

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Version 3.3.x

Fehlerkorrekturen und Verbesserungen für Version 3.3.x

3.3.2

Am 18. August 2023 haben wir die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Fehlerkorrekturen und Verbesserungen:

Fehler-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. Das Ausführen von Befehlszeilenbefehlen für nicht unterstützte Versionen führt zu einem Fehler. Weitere Informationen finden Sie unter 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 Anwendung verknüpft sind. Wir bestimmen jetzt anhand der Anfrage das richtige API-Produkt, das zurückgegeben werden soll.

274443329 Bug (Fehler)

Ein Problem wurde behoben, bei dem Docker eine veraltete Image-Version abgerufen hat. Die Version des Docker-Knotens wurde auf Node.js-Version 18 aktualisiert. Das Docker-Image wird jetzt mit der Version 18.17-buster-slim erstellt.

Sicherheitsprobleme behoben

Keine.

3.3.1

Am 7. Juni 2022 wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Fehlerkorrekturen und Verbesserungen:

Fehler-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 plugin json2xml beim Transformieren der Antwort von JSON in XML und bei Verwendung in Kombination mit dem plugin accumulate-response einen Parsing-Fehler ausgab.

221432797 Umsteigen

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

215748732 Funktion

Unterstützung für die SAML-Tokenauthentifizierung wurde dem Befehl revokekeys hinzugefügt.

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

Weitere Informationen finden Sie in der Befehlszeilenreferenz.

218723889 Dokument-Update

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

Sicherheitsprobleme behoben

Fehler-ID Beschreibung
CVE-2021-23413 Dies betrifft das jszip-Paket vor 3.7.0. Das Erstellen einer neuen ZIP-Datei mit Dateinamen, die auf Objektprototypenwerte (z. B. proto, toString usw.) festgelegt sind, führt zu einem zurückgegebenen Objekt mit einer geänderten Prototypinstanz.

3.3.0

Am 4. Februar 2022 wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

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

microgateway Kern Konfiguration Plug-ins edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

Fehlerkorrekturen und Verbesserungen:

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

Die Ausführung von npm audit fix führt dazu, dass apigeetool auf 0.15.2 aktualisiert wird, was sich auf den Befehl edgemicro upgradeauth auswirkt.

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 die korrekte Version von apigeetool wiederherzustellen:

npm install apigeetool@0.15.1

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

138622990 Funktion

Das neue Flag isHTTPStatusTooManyRequestEnabled für das Kontingent-Plug-in konfiguriert das Plug-in so, dass es bei einem Kontingentverstoß den HTTP-Antwortstatus 429 anstelle des Status 403 zurückgibt. Siehe Konfigurationsoptionen für Kontingente.

192534424 Bug (Fehler)

Ein Problem wurde behoben, bei dem der in der Apigee-Analyse angezeigte Antwortcode nicht mit dem Edge Microgateway-Antwortcode übereinstimmte.

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

Die Dokumentation wurde erweitert, um zu erklären, wie TLS/SSL für mehrere Ziele konfiguriert wird. Weitere Informationen finden Sie unter Client-SSL/TLS-Optionen verwenden.

171538483 Bug (Fehler)

Die Dokumentation wurde geändert, um die Benennungskonvention für die Protokolldatei zu korrigieren. Siehe Namenskonventionen für Logdateien.

157908466 Bug (Fehler)

Die Dokumentation wurde geändert, um korrekt zu erklären, wie eine bestimmte Version von Edge Microgateway installiert wird. Weitere Informationen finden Sie unter Edge Microgateway upgraden, wenn Sie eine Internetverbindung haben.

215748427 Bug (Fehler) Ein Problem wurde behoben, bei dem beim Widerruf eines Schlüssels mit einem vorhandenen Schlüssel/Secret-Paar ein Fehler vom Befehl „disallowkeys“ zurückgegeben wurde.
205524197 Bug (Fehler) Die Dokumentation wurde aktualisiert und enthält nun die vollständige Liste der Protokollierungsebenen. Weitere Informationen finden Sie unter edgemicro-Attribute und Logging-Ebene festlegen.

Version 3.2.x

Fehlerkorrekturen und Verbesserungen für Version 3.2.x

3.2.3

Am 17. September 2021 wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Fehlerkorrekturen und Verbesserungen:

Fehler-ID Typ Beschreibung
192416584 Funktion

Mit dem Konfigurationsattribut disableStrictLogFile können Sie strenge Dateiberechtigungen für die Anwendungsprotokolldatei 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 steuern, wie sich Edge Microgateway verhält, wenn die Verbindung zwischen dem Client (Edge Microgateway) und dem Zielserver vorzeitig beendet wird. Weitere Informationen finden Sie unter edgemicro-Attribute.

148062415 Bug (Fehler) Ein Problem wurde behoben, bei dem Edge Microgateway in einem Docker-Containerkontext mit dem Befehl docker stop {containerId} nicht ordnungsgemäß heruntergefahren wurde. Der Prozess wurde abgebrochen, die Dateien .sock und .pid wurden jedoch nicht entfernt. Jetzt werden die Dateien entfernt und der Neustart desselben Containers funktioniert wie erwartet.
190715670 Bug (Fehler) Ein Problem wurde behoben, bei dem einige Anfragen während der internen Aktualisierungsaktivität des Mikrogateways hängen geblieben sind. Dieses Problem trat zeitweise bei hohem Traffic-Aufkommen auf. Das Problem trat auf, als 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 abschließenden Schrägstrich fälschlicherweise als separater Ressourcenpfad interpretiert wurde. Jetzt werden die Pfade /country/all und /country/all/ beispielsweise als derselbe Pfad interpretiert.

Sicherheitsprobleme behoben

Fehler-ID Beschreibung
CVE-2020-28503 Die Pakete vor 2.0.5 sind anfällig für Prototyp-Verschmutzung, da sie die Hauptfunktion nutzen.
CVE-2021-23343 Alle Versionen des Paketpfad-Parsings sind über die regulären Ausdrücke „splitDeviceRe“, „splitTailRe“ und „splitPathRe“ anfällig für „Regular Expression Denial of Service“ (ReDoS). ReDoS weist eine polynome Worst-Case-Zeitkomplexität auf.

3.2.2

Am Donnerstag, dem 15. Juli 2021, haben wir die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Fehlerkorrekturen und Verbesserungen:

Fehler-ID Typ Beschreibung
185323500 Umsteigen

Wert von expires_in von String in Ganzzahl geändert

Die APIs für Tokenanfragen und Aktualisierungstoken-Anfragen geben jetzt expires_in als Ganzzahlwert zurück, der in Sekunden angegeben wird.

Der erwartete Wert für den Konfigurationsparameter expires_in wurde gemäß RFC 6749, das OAuth 2.0-Autorisierungs-Framework von einem String in eine Ganzzahl geändert. Weitere Informationen finden Sie in der Referenz für Vorgänge und Konfiguration.

188492065 Umsteigen Ende der Node.js 8-Unterstützung

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 Loginformationen an die Standardausgabe statt an eine Logdatei senden. Wenn Sie die Schritte zum Ausführen von Edge Microgateway in einem Docker-Container ausführen, leitet der Container die stdout- und Fehlerausgabe standardmäßig an eine Datei weiter, die sich im Container an folgendem Speicherort befindet: ${APIGEE_ROOT}/logs/edgemicro.log.

Wenn Sie verhindern möchten, dass Loginformationen an edgemicro.log gesendet werden, verwenden Sie beim Ausführen des Containers die neue Variable LOG_CONSOLE_OUTPUT_TO_FILE.

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

183057665 Funktion Machen Sie die Dateipfade edgemicro.pid und edgemicro.sock konfigurierbar.

Mit dem neuen Parameter -w, --workdir zum Ausführen eines Docker-Containers mit Edge Microgateway können Sie den Pfad zu dem 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 für die Verwendung von NodeJS Version 12.22 aktualisiert. Weitere Informationen finden Sie unter Docker für Edge Microgateway verwenden.

Sicherheitsprobleme behoben

Fehler-ID Beschreibung
CVE-2021-28860 In Node.js Mixme kann ein Angreifer vor Version 0.5.1 Eigenschaften eines Objekts über „__proto__“ über die Funktionen mutate() und zusammenführen() hinzufügen oder ändern. Das „verschmutzte“ Attribut wird jedem Objekt im Programm direkt zugewiesen. Dadurch besteht das Risiko, dass die Verfügbarkeit des Programms zu einem potenziellen Denial of Service (DoS) führt.
CVE-2021-30246 Im jsrsasign-Paket bis 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 Paketunterstrich von 1.13.0-0 und vor 1.13.0-2, von 1.3.2 und vor 1.12.1 sind anfällig für Arbitrary Code Injection über die Vorlagenfunktion, insbesondere wenn eine Variableneigenschaft als Argument übergeben wird, da sie nicht bereinigt ist.
CVE-2021-29469 Node-redis ist ein Node.js-Redis-Client. Vor Version 3.1.1 konnte bei Clients, die sich im Monitoringmodus befinden, der reguläre Ausdruck zur Erkennung von Überwachungsnachrichten zu exponentiellem Backtracking bei einigen Strings führen. Dieses Problem könnte zu einem Denial of Service führen. Das Problem wurde in Version 3.1.1 behoben.
CVE-2020-8174 Das Docker-Image wurde für die Verwendung von Node.js-Version 12.22 aktualisiert

3.2.1

Am Freitag, dem 5. März 2021, wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

Die folgende Tabelle enthält die Versionsnummern für die einzelnen Komponentenprojekte, die mit Edge Microgateway 3.2.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Fehlerkorrekturen und Verbesserungen:

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

Die Nullbedingung wird jetzt verarbeitet, um die Übergabe eines Nullwerts in jwkPublicKeys zu vermeiden.

Hinweis:Für diese Korrektur müssen Sie den Proxy edgemicro-auth aktualisieren.

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

Für Edge Microgateway-Transaktionen wurden im Fehlercode-Analyse-Dashboard von Apigee Edge falsche Zielfehlerzahlen angezeigt. Fehlercodes für Zielfehler wurden als Proxyfehler gezählt. Dieses Problem wurde behoben und die korrekte Anzahl von Zielfehlern wird angezeigt.

179674670 Funktion Es wurde eine neue Funktion hinzugefügt, mit der du die Liste der API-Produkte basierend auf Produktstatuscodes in einem JWT filtern kannst.

API-Produkte haben drei Statuscodes: Ausstehend, Genehmigt und Widerrufen. Der Richtlinie JWT-Variablen festlegen im Proxy edgemicro-auth wurde das neue Attribut allowProductStatus hinzugefügt. So verwenden Sie dieses Attribut zum Filtern von API-Produkten, die im JWT aufgeführt sind:

  1. Öffnen Sie den Proxy edgemicro-auth im Apigee-Proxy-Editor.
  2. Füge das Attribut allowProductStatus in die XML-Datei der Richtlinie „SetJWTVariables“ ein und gib eine durch Kommas getrennte Liste von Statuscodes an, nach denen gefiltert werden soll. So filtern Sie beispielsweise 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 Eigenschaft so fest:

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

    Wenn das Tag Property nicht vorhanden ist, werden Produkte mit allen Statuscodes im JWT aufgelistet.

    Wenn Sie dieses neue Attribut verwenden möchten, müssen Sie ein Upgrade des Proxys edgemicro-auth durchführen.

178423436 Bug (Fehler) Schlüssel- und Secret-Werte, die in der Befehlszeile oder über Umgebungsvariablen übergeben werden, sind in Befehlszeilenargumenten von Process Explorer sichtbar.

Es wurde ein Problem gemeldet, bei dem nach dem Starten des Mikrogateways die Schlüssel- und Secret-Werte von Edge Microgateway, die entweder von Befehlszeilenargumenten übergeben oder durch Umgebungsvariablen festgelegt wurden, in den Argumenten der Knoten-Worker/untergeordneten Prozesse angezeigt wurden.

Um dieses Problem für das Umgebungsvariablenszenario zu beheben, sind in den Befehlszeilenargumenten von Process Explorer keine Werte mehr sichtbar.

Wenn die Schlüssel- und Secret-Werte beim Starten des Mikrogateways in der Befehlszeile übergeben werden, haben die Einstellungen Vorrang vor allen Werten der Umgebungsvariablen, sofern festgelegt. In diesem Fall sind die Werte in den Befehlszeilenargumenten von Process Explorer weiterhin sichtbar.

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

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

Das Attribut gracePeriod wird im Plug-in oauth implementiert. Um den Kulanzzeitraum zu nutzen, müssen Sie das oauth-Plug-in verwenden.

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

Mit dem neuen Konfigurationsparameter edgemicro: enable_GET_req_body lässt sich das gewünschte Verhalten steuern. Wenn true festgelegt ist, wird der Anfrageheader transfer-encoding: chunked allen GET-Anfragen hinzugefügt. Außerdem wird eine GET-Nutzlast, falls vorhanden, an das Ziel gesendet. Wenn false (Standardeinstellung) ist, wird die Nutzlast automatisch 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, dem 21. Januar 2021 wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

Komponentenversionen:

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

microgateway Kern Konfiguration Plug-ins edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

Fehlerkorrekturen und Verbesserungen:

Fehler-ID Typ Beschreibung
152640618 Bug (Fehler) Das extauth-Plug-in wurde aktiviert, um den x-api-key-Header so festzulegen, dass er client_id für das Anfrageobjekt enthält, wenn das Token gültig ist. Der 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 Endpunkt /token 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 dies jedoch der Zeiteinheit für refresh_token_expires_in (in Sekunden) entsprechen.

Durch die Fehlerbehebung wird nicht die Dauer der Ablaufzeit, sondern nur die Zeiteinheit geändert. Sie gilt nur für das Feld expires_in in der Nutzlast der Zugriffstoken-Antwort. Das JWT-Token in derselben Antwortnutzlast würde die beiden Felder iat und exp enthalten. Sie wurden korrekt generiert und wurden schon immer mit der Zeiteinheit seconds generiert.

Wenn Clients den expires_in-Wert in Millisekunden verwendet hätten, um Tokens vor Ablauf des Tokens zu aktualisieren, würde diese Korrektur ohne Änderung der Clients viel häufigere und unnötige Aktualisierungen verursachen. Diese Clients müssen geändert werden, um die Zeiteinheitsänderung zu berücksichtigen und das ursprüngliche Verhalten beizubehalten.

Wenn Clients immer die Werte im JWT-Token verwendet haben, um den Aktualisierungszeitraum des Tokens zu bewerten, sollten die Clients keine Änderung vornehmen müssen.

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

Dies ist ein zeitweise auftretendes Problem bei Anfragen mit hoher Nutzlast. Es wurde mit Version 3.1.7 eingeführt.

174640712 Bug (Fehler) Ordnungsgemäße Datenverarbeitung für Plug-ins hinzufügen.

Für die folgenden Plug-ins wurde eine korrekte Datenverarbeitung hinzugefügt: json2xml, accumulate-request, accumulate-response und header-uppercase. Einzelheiten zu Plug-ins finden Sie unter microgateway-plugins.

Version 3.1.x

Fehlerkorrekturen und Verbesserungen für Version 3.1.x

3.1.8

Am Montag, dem 16. November 2020, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Fehlerkorrekturen und Verbesserungen:

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

Bei der Verarbeitung der Ersetzung von Umgebungsvariablen wurden alle Werte als Strings geparst, was zu Parsing-Fehlern für boolesche oder numerische Werte führte. Beispiel: edgemicro.port erwartet und erfordert beispielsweise einen numerischen Wert. Korrekturen zur Unterstützung von booleschen und numerischen Werten wurden vorgenommen. Weitere Informationen zur Konfiguration finden Sie unter Konfigurationsattribute mit Werten für Umgebungsvariablen festlegen.

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

Das Ersetzen von Umgebungsvariablen hat bei einigen Konfigurationsattributen nicht funktioniert. Informationen zu Einschränkungen finden Sie unter Konfigurationsattribute mit Werten für Umgebungsvariablen festlegen.

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

Der /token-Ablauf im edgemicro-auth-Proxy generierte JWTs ohne die richtigen Produktbereiche, die in Edge definiert wurden. Das Ergebnis von zwei verschiedenen Szenarien: 1) Die Anforderungsnutzlast an den /token-Ablauf hat keinen Bereichsparameter übergeben oder 2) ein ungültiger Bereich wurde in der Anfragenutzlast an den /token-Ablauf übergeben. Eine Fehlerkorrektur wurde vorgenommen, um alle in API-Produkten in Apigee Edge definierten Bereiche zurückzugeben.

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

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

Die API-Produktbereiche wurden weder für benutzerdefinierte Plug-ins zur Verfügung gestellt noch in die Cache-Konfigurationsdatei geschrieben. Unter Informationen zur init()-Funktion des Plug-ins erfahren Sie, wie Plug-ins Details zum Umfang zur Verfügung stellen.

169810710 Funktion Key und Secret in der Cache-Konfigurationsdatei gespeichert.

Der Edge Microgateway-Schlüssel und das Edge Microgateway-Secret wurden bei jedem Neustart/Start in der YAML-Konfigurationsdatei für die Cache-Konfiguration gespeichert. In 3.1.8 werden Key und Secret nicht mehr in der Cache-Konfigurationsdatei gespeichert. Wenn Key und Secret bereits 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 Analyse-Plug-in standardmäßig aktiviert und konnte nicht deaktiviert werden. In Version 3.1.8 wurde der neue Konfigurationsparameter enableAnalytics zum Aktivieren oder Deaktivieren des Analyse-Plug-ins eingeführt. Weitere Informationen finden Sie unter Konfigurationsreferenz.

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

Es wurden Korrekturen vorgenommen, um den korrekten HTTP-Statuscode und die Fehlermeldung für onerror_request-Ereignisse und die richtige Fehlermeldung für onerror_response-Ereignisse auszufüllen.

3.1.7

Am Donnerstag, dem 24. September 2020, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Fehlerkorrekturen und Verbesserungen:

Fehler-ID Typ Beschreibung
131708105 Bug (Fehler) Das Plug-in analytics hat die Nullantwort von axpublisher-Aufrufen falsch verarbeitet und veranlasste Worker zum Beenden.

133162200 Bug (Fehler) Die Informationen zur Entwickleranwendung wurden in der Analyse weder mit 403-Statusantworten ausgefüllt, die durch nicht autorisierte Produktressourcenpfade verursacht wurden, noch mit 401-Antworten, die durch ein abgelaufenes oder ungültiges Token verursacht wurden.

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

158618994 Bug (Fehler) Übermäßige Redis-Clientverbindungen.

161404373 Bug (Fehler) Im Falle einer 404-Statusantwort wurde der vollständige Proxy-URI in der Antwortnachricht enthalten.
166356972 Bug (Fehler)

Beim Ausführen von Edge Microgateway mit Node.js-Version 12.13.x oder höher trat beim Ausführen von Plug-ins, die die Anfragenutzlast transformieren, folgender Fehler auf:

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

168681746 Bug (Fehler) Die manuelle Aktualisierung 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 von Synchronizer gespeichert und abgerufen und in Redis gespeichert.

141659881 Bug (Fehler) Bei der Fehlerbehandlung bei einem ungültigen Zielzertifikat wurden irreführende Fehlerantworten angezeigt.

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

Das Mikrogateway verarbeitet jetzt den Abschnitt „Deny“ ordnungsgemäß und respektiert die Reihenfolge der Abschnitte „allow“ und „deny“. Der Konfigurationsdatei des Microgateways wurde ein neues Attribut noRuleMatchAction hinzugefügt, um die AccessControl-Richtlinie von Apigee Edge aufeinander abzustimmen. Weitere Informationen finden Sie in der Readme-Datei für das Zugriffskontroll-Plug-in auf GitHub (in englischer Sprache).

3.1.6

Am Donnerstag, dem 20. August 2020, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Fehlerkorrekturen und Verbesserungen:

Fehler-ID Typ Beschreibung
163711992 Funktion Benutzerdefinierte Optionen für den Speicherort von Schlüssel- und Zertifikatsdateien für den Befehl „rotationkey“.

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

154838259 Bug (Fehler) Schlüsselrotation für Multi-Instanzen in mehreren Rechenzentren reparieren

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 Neue Plug-in-Messwerte auf GitHub.

159396879 Bug (Fehler) Nicht verwendete Pakethilfe entfernen
161092943 Bug (Fehler) Basispfadvalidierung war falsch

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

Im Folgenden wird das bisherige Verhalten, das in 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 zugeordnet ist.
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, sollte Edge Microgateway einen 404-Fehler ausgelöst haben. In Version 3.1.6 und höher wird in diesem Fall ein 404-Fehler ausgegeben.
160431789 Bug (Fehler) Benutzerdefinierte Plug-ins – an init übergebenes Konfigurationsobjekt wird nicht ausgefüllt

Die Apigee Edge-Konfiguration wird im Konfigurationsobjekt für alle benutzerdefinierten Plug-ins nach der Zusammenführung mit der Edge Microgateway-Konfigurationsdatei zur Verfügung gestellt. Siehe config.

162758808 Bug (Fehler) Neue Kontingentkonfiguration für den Redis-Sicherungsspeicher

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

3.1.5

Am Freitag, dem 26. Juni 2020, haben wir die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Fehlerkorrekturen und Verbesserungen:

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

Ein neues Konfigurationsfeature wurde hinzugefügt, um die Verarbeitung von Plug-ins für bestimmte URLs zu überspringen. 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 erzeugte und in einigen Fällen nicht wie erwartet an das Ziel gesendet wurden.

156560067, 159688634 Funktion

Werte von Umgebungsvariablen in der Konfiguration verwenden

Es wurde ein Feature hinzugefügt, mit dem Sie Umgebungsvariablen mithilfe von Tags in der Konfigurationsdatei angeben können. Die angegebenen Tags für Umgebungsvariablen werden durch die tatsächlichen Werte der Umgebungsvariablen ersetzt. Ersetzungen werden nur im Arbeitsspeicher und nicht in der ursprünglichen Konfigurations- oder Cache-Datei gespeichert. Weitere Informationen finden Sie unter Konfigurationsattribute mit Umgebungsvariablen festlegen.

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

Ein Problem wurde behoben, bei dem der Zielhost in Logs mit angehängten Doppelpunkten erschien.

153673257 Bug (Fehler)

(Nur Edge for Private Cloud) Microgateway-fähige Produkte wurden nicht abgerufen

Ein Problem wurde behoben, durch das Microgateway-fähige Produkte nicht abgerufen wurden. Dieses Problem bestand bei Edge nur für Private Cloud-Installationen.

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

Weitere Informationen finden Sie unter Produkte nach benutzerdefinierten Attributen filtern.

153949764 Bug (Fehler) Ein Problem wurde behoben, bei dem der Edge Microgateway-Prozess abgestürzt ist, wenn die Logzieldatei voll war

Die Ausnahmebehandlung wurde verbessert, um den Fehler zu erfassen 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 die folgende Fehlerbehebung 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 Release-Hinweisen von Version 3.1.3 beschriebenen Fehlerkorrekturen und Verbesserungen für diese Version.

3.1.3

Am Mittwoch, dem 15. April 2020, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration 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-Debug-Modul zu Speicherlecks führte. Das Problem tritt in den Versionen v3.1.0, v3.1.1 und 3.1.2 auf.
  • 153509313 – Ein Problem wurde behoben, bei dem dieselbe Nachrichten-ID für zwei verschiedene Transaktionen in der Logging-Ausgabe ausgegeben wurde.
  • 151673570 – Ein Problem wurde behoben, bei dem Edge Microgateway nicht für die Verwendung neuer Apigee KVM APIs aktualisiert wurde. 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 Ressourcenpfadzuordnung mit der von Apigee Edge übereinstimmt. In diesem Release wurde ein Problem behoben, bei dem das Muster /literal_string/* nicht korrekt verarbeitet wurde. Beispiel: /*/2/*. Siehe auch Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren.
  • 152005003: Es wurden Änderungen vorgenommen, um organisations- und umgebungsbezogene Kennungen für Kontingente zu aktivieren.
  • 152005003: Es wurden Änderungen vorgenommen, um organisations- und umgebungsbezogene Kennungen 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, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 151285018 – Eine Funktionserweiterung wurde vorgenommen, um die HTTP-Proxy-Unterstützung für Traffic zwischen Edge Microgateway und Back-End-Zielen hinzuzufügen. Darüber hinaus wurden Probleme für die vorhandene HTTP-Proxy-Unterstützung zwischen Edge Microgateway und Apigee Edge behoben. Weitere Informationen:
  • 149101890: Der Log-Benachrichtigungscode für Fälle, in denen der Zielserver oder der Load-Balancer seine Verbindung schließt, wurde von ERROR in INFO geändert.
  • 150746985: Ein Problem wurde behoben, bei dem der Befehl edgemicro verify nicht ordnungsgemäß funktionierte, wenn redisBasedConfigCache: true oder quotaUri: https://%s-%s.apigee.net/edgemicro-auth in der Konfigurationsdatei vorhanden war.
  • 151284716 – Eine Verbesserung wurde vorgenommen, um Serververbindungen schneller zu schließen, wenn Worker während eines Neuladevorgangs neu gestartet werden.
  • 151588764: Aktualisieren Sie die Node.js-Version im Docker-Image, das zum Ausführen von Edge Microgateway in einem Docker-Container verwendet wird, auf 12, da Node.js v8 verworfen wurde.
  • 151306049: Die Dokumentation wurde aktualisiert, um die Apigee Edge-Verwaltungs-APIs aufzulisten, die von Edge Microgateway-Befehlszeilenbefehlen verwendet werden. Weitere Informationen finden Sie unter Welche Verwaltungs-APIs verwendet Edge Microgateway?.

3.1.1

Am Donnerstag, dem 20. Februar, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration 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. Mit dieser Änderung werden Proxy-Einstellungen in der YAML-Konfigurationsdatei, sofern angegeben, jetzt ignoriert. Nur die Umgebungsvariablen werden verwendet, um den Proxy anzugeben.

    Wenn Sie in der Konfigurationsdatei eine Proxykonfiguration angeben möchten, müssen Sie auch eine HTTP_PROXY-Variable angeben, in der dieselbe Proxy-URL wie in der Konfigurationsdatei angegeben ist. Angenommen, Sie geben die folgende Konfiguration an:

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

    Außerdem müssen Sie diese Umgebungsvariable angeben:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620: Der neue Konfigurationsparameter edgemicro.headers_timeout wurde hinzugefügt. Dieses Attribut begrenzt die Zeit (in Millisekunden), die der HTTP-Parser auf den Empfang der vollständigen HTTP-Header wartet. Beispiel:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    Intern legt der Parameter das Node.js-Attribut Server.headersTimeout für Anfragen fest. (Standardeinstellung: 5 Sekunden länger als die mit edgemicro.keep_alive_timeout festgelegte Zeit. Diese Standardeinstellung verhindert, dass Load-Balancer oder Proxys die Verbindung fälschlicherweise unterbrechen.)

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

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

3.1.0

Am Dienstag, dem 21. Januar, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration 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 der Ebene WARN 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 „Kontingent anwenden“ an Edge keine Remote-Kontingentzähler aktualisiert. In diesem Fall wird das Kontingent nur bis zur nächsten erfolgreichen Remote-Kontingentsynchronisierung auf Basis lokaler Zählungen verarbeitet. Bisher wurde dieses Ereignis nur protokolliert, wenn die Logebene auf DEBUG gesetzt 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 betroffen waren, wenn Edge Microgateway eine Änderung an einem API-Proxy erkannte. Wenn jetzt eine Änderung an einem Proxy vorgenommen wird, aktualisiert Edge Microgateway den Cache und die Worker-Knoten werden neu gestartet. Von dieser Änderung sind laufende Transaktionen und neue API-Aufrufe, die an das Mikrogateway gesendet werden, nicht betroffen.
  • 146378327: Die Logebene von sourceRequest, targetRequest und targetResponse wurde zur INFO-Ebene geändert.
  • 146019878: Eine Diskrepanz zwischen der Latenz, die für die „API-Proxy-Leistung“ in Edge-Analysen und Edge Microgateway-Quell-Antwort-/targetResponse-Protokollereignissen berechnet wurde, wurde behoben. Jetzt ist die Latenz in Edge Analytics- und Microgateway-Protokollereignissen angeglichen.
  • Änderungen im Zusammenhang mit der Logik des Musterabgleichs:
    • 147027862 – Das OAuth-Plug-in wurde aktualisiert, um die folgenden in API-Produkten angegebenen Abgleichsmustern für Ressourcenpfade zu unterstützen:
      • /{literal}**
      • /{literal}*
      • Beliebige Kombination aus den beiden oben genannten Mustern

      Mit dieser Änderung folgt das Edge Microgateway-Plug-in jetzt demselben Musterabgleich wie Apigee Edge, wie unter Verhalten eines Ressourcenpfads von „/“, „/*“ und „/**“ konfigurieren“ erläutert wird.

    • 145644205 – Logik für den Musterabgleich des apiKeys-Plug-ins entsprechend dem OAuth-Plug-in aktualisieren.
  • 143488312 – Ein Problem wurde behoben, bei dem vorangestellte oder nachgestellte Leerzeichen im Client-ID-Parameter dazu führten, dass die Erstellung der JWT-Produktliste für OAuth-Token- und API-Schlüsselanfragen leer war.
  • 145640807 und 147579179 – Eine neue Funktion wurde hinzugefügt, mit der eine spezielle Edge Microgateway-Instanz namens „Der Synchronisierer“ Konfigurationsdaten von 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 verleiht Edge Microgateway einen Grad an Ausfallsicherheit. Damit können Mikrogateway-Instanzen gestartet und ausgeführt werden, ohne mit Apigee Edge kommunizieren zu müssen. Weitere Informationen finden Sie unter Synchronisierer verwenden.

    Die Syncrhonizer-Funktion wird derzeit für Redis 5.0.x unterstützt.

Version 3.0.x

Fehlerkorrekturen und Verbesserungen für Version 3.0.x

3.0.10

Am Freitag, dem 8. November, haben wir die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Fehlerkorrekturen und Verbesserungen:

  • 142677575: Es wurde ein Funktionsupdate durchgeführt, sodass der Musterabgleich für Ressourcenpfade in API-Produkten für Edge Microgateway jetzt mit dem von Apigee Edge verwendeten Ressourcenpfadmusterabgleich übereinstimmt, wie unter Verhalten eines Ressourcenpfads von „/“, „/*“ und „/**“ konfigurieren“ beschrieben.

    Hinweis: Wenn Sie ein Muster für zusammengesetzte Ressourcen wie /*/2/** verwenden, muss der edgemicro_auth-Proxy einem eigenständigen API-Produkt hinzugefügt werden. Anschließend müssen Sie dieses Produkt in die Entwickler-App des Proxys einfügen, wie im folgenden Screenshot dargestellt:

    alt_text

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

  • 143740696: Die Konfigurationsstruktur quotas hat sich geändert (siehe auch die Versionshinweise zu Version 3.0.9). Mit dem Attribut quotas wird das Kontingent-Plug-in konfiguriert. Durch diese Änderung der Struktur wurde die Klarheit der Konfigurationselemente verbessert. 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: Ein neues Feature wurde hinzugefügt, mit dem Sie Redis als Kontingentsicherungsspeicher verwenden können. Wenn useRedis auf "true" gesetzt ist, wird das Modul volos-quota-redis verwendet. Wenn der Wert „true“ ist, wird das Kontingent auf die Edge Microgateway-Instanzen beschränkt, die eine Verbindung zu Redis herstellen. Bei „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 wurden, wurde von 108.000 Millisekunden (1,8 Minuten) zu 1800 Sekunden (30 Minuten) geändert.
  • 143551282: Zur Unterstützung von SAML-fähigen Organisationen wurde der Befehl edgemicro genkeys aktualisiert und enthält nun den Parameter ‑‑token. Mit diesem Parameter können Sie anstelle von Nutzername/Passwort ein OAuth-Token zur Authentifizierung verwenden. Weitere Informationen finden Sie unter Schlüssel generieren.

3.0.9

Am Freitag, dem 11. Oktober, haben wir die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration 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 die neue Funktion "Fail-Open" hinzugefügt. Wenn diese Funktion aktiviert ist und ein Fehler bei der Kontingentverarbeitung auftritt oder wenn die Anfrage zum Anwenden von Kontingenten an Edge die Remote-Kontingentzähler nicht aktualisieren kann, wird das Kontingent nur auf der Grundlage lokaler Zählungen verarbeitet, bis die nächste erfolgreiche Remote-Kontingentsynchronisierung durchgeführt wird. In beiden Fällen wird im Anfrageobjekt ein quota-failed-open-Flag festgelegt.

    Legen Sie die folgende Konfiguration fest, um die Kontingentfunktion für Fail-Open zu aktivieren:

    quotas :
     failOpen : true

    Hinweis: Darüber hinaus wurde der Name des Anfrageobjekt-Flags fail-open des OAuth-Plug-ins zu oauth-failed-open geändert.

  • 142093764: Am edgemicro-auth-Proxy wurde eine Konfigurationsänderung vorgenommen, um Kontingentüberschreitungen zu verhindern. Sie müssen nun den Kontingenttyp auf calendar setzen. 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, um das Logging der MP-ID (Message processor) in Kontingentantworten zu ermöglichen. Wenn Sie dieses Feature verwenden möchten, müssen Sie den 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, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration Plug-ins edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Fehlerkorrekturen und Verbesserungen:

  • 140025210: Die neue Funktion "Fail-Open" wurde hinzugefügt. Mit diesem Feature kann die API-Verarbeitung fortgesetzt werden, wenn ein abgelaufenes JWT-Token aufgrund eines Verbindungsfehlers, der einen erfolgreichen Aufruf der API-Schlüsselüberprüfung an den edgemicro-auth-Proxy verhindert, nicht aktualisiert werden kann.

    Mit diesem Feature können Sie einen Kulanzzeitraum festlegen, in dem das alte Token im Cache verbleibt und bis zum Ablauf des Kulanzzeitraums wiederverwendet wird. Mit dieser Funktion kann Edge Microgateway auch bei einem vorübergehenden Verbindungsfehler Anfragen verarbeiten. Wenn die Verbindung fortgesetzt wird und ein erfolgreicher API-Schlüsselüberprüfungsaufruf ausgeführt wird, wird ein neues JWT abgerufen, das das alte JWT im Cache ersetzt.

    So konfigurieren Sie die neue Funktion "Fail-Open":

    1. Legen Sie die folgenden Attribute in der Stanza oauth in der Konfigurationsdatei von Edge Microgateway 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 fünf Sekunden wird ein Authentifizierungsfehler zurückgegeben.

  • 141168968: Es wurde eine Aktualisierung durchgeführt, um correlation_id in alle Plug-in-Logausgaben aufzunehmen. Außerdem wurden die Logebenen für einige Logs bei Bedarf in error geändert.
  • 140193349: Der edgemicro-auth-Proxy wurde aktualisiert, damit der Edge Microgateway-Schlüssel und das Secret bei jeder Anfrage zum Überprüfen des API-Schlüssels verifiziert werden müssen. Edge Microgateway wurde aktualisiert, um den Schlüssel und das Secret bei jeder Anfrage zum Überprüfen des API-Schlüssels zu senden. Diese Änderung verhindert, dass Clients ein JWT nur mit einem API-Schlüssel abrufen.
  • 140090250: Es wurde eine Aktualisierung durchgeführt, um die Diagnoseprotokollierung für die Kontingentverarbeitung hinzuzufügen. Mit dieser Änderung ist es jetzt möglich, die Quotō-Logausgabe mit dem Rest der Edge Microgateway-Logs zu korrelieren.

3.0.7

Am Donnerstag, dem 12. September, wurden die folgenden Fehlerbehebungen 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 Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

microgateway Kern Konfiguration 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, sodass gegebenenfalls ein 5xx-Statuscode zurückgegeben wird. Bisher gab das Plug-in nur 4xx-Statuscodes in allen Nicht-200-Fällen zurück. Jetzt wird für jede Nachrichtenantwort, die nicht den Status 200 hat, je nach Fehler der genaue 4xx- oder 5xx-Code zurückgegeben.

    Diese Funktion ist standardmäßig deaktiviert. Fügen Sie Ihrer Edge Microgateway-Konfiguration das Attribut oauth.useUpstreamResponse: true hinzu, um dieses Feature zu aktivieren. Beispiel:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623: In Version 3.0.6 wurde die neue Konfigurationseigenschaft quota.quotaUri hinzugefügt. Legen Sie dieses Konfigurationsattribut 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 als Kontingentendpunkt 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 der edgemicro-auth aktualisiert, um diese neue Konfiguration zu akzeptieren. Wenn Sie das Attribut quotaUri verwenden möchten, müssen Sie ein Upgrade auf den neuesten edgemicro-auth-Proxy ausführen. Weitere Informationen finden Sie unter Edgemicro-auth-Proxy upgraden.

  • 140470888: Kontingentaufrufen wurde ein Autorisierungsheader zur Authentifizierung hinzugefügt. Außerdem wurde der edgemicro-auth-Proxy geändert, um „Organisation“ aus der Kontingent-ID zu entfernen. Da sich der Kontingentendpunkt in der Organisation des Kunden befindet, wird die Kontingent-ID nicht mehr benötigt.
  • 140823165 – Der folgende Attributname:
    edgemicro:
        keepAliveTimeout

    wurde in Version 3.0.6 falsch dokumentiert. Der richtige Name der Eigenschaft lautet:

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

3.0.6

Am Donnerstag, dem 29. August, wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

  • 138633700 – Das neue Konfigurationsattribut „keepAliveTimeout“ wurde hinzugefügt. Mit diesem Attribut können Sie das Edge Microgateway-Zeitlimit (in Millisekunden) festlegen. (Standardeinstellung: 5.000 Millisekunden)

    Beispiel:

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

    Damit Sie dieses Feature verwenden können, müssen Sie zuerst die neueste Version des edgemicro-auth-Proxys in Ihrer Organisation bereitstellen. Weitere Informationen finden Sie unter Edgemicro-auth-Proxy upgraden.

  • 138722809 – Das neue Konfigurationsattribut „stack_trace“ wurde hinzugefügt. Mit dieser Eigenschaft können Sie steuern, ob Stacktraces in Logdateien angezeigt werden. Beispiel:
    stack_trace: false

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

3.0.5

Am Donnerstag, dem 15. August, wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

Fehler behoben
  • 139005279: Ein Problem wurde behoben, bei dem mit dem Befehl edgemicro status nicht die richtige Anzahl von Worker-Prozessen zurückgegeben wurde.
  • 138437710 – In der Klasse "ExitCounter" wurde ein Problem behoben, das verhindert, dass das richtige Log geschrieben wird.
Allgemeine Verbesserungen von Logeinträgen
  • 139064652: Möglichkeit zum Hinzufügen der Logging-Ebenen trace und debug für Ereignis- und Systemlogs. Derzeit wurde nur die Möglichkeit zum Hinzufügen dieser Logebenen hinzugefügt. Derzeit sind die Logebenen info, warn und error verfügbar.
  • 139064616 – Die Logausgabe wurde für alle Konsolen-Protokollanweisungen standardisiert. Die Logging-Anweisungen in der Konsole enthalten jetzt folgende Attribute:
    • Zeitstempel
    • Komponentenname
    • Prozess-ID
    • Lognachricht der Console
Verbesserungen für JWT-Schlüssel und Secret-Lognachrichten
  • 138413755 – Verbessern Sie den JWT-Schlüssel und die Secrets in Bezug auf die Befehlszeilenbefehle für die folgenden Befehlszeilenbefehle: cert, verify, upgradekvm, token, genkeys, historischen Schlüsseln, rotierenkey und configure.
Verbesserungen bei den Fehlermeldungen wegen Zeitüberschreitung und abgelehnter Verbindung
  • 138413577 – Verbesserte Fehlerbehandlung für Zeitüberschreitungen bei Back-End-Diensten.
  • 138413303 – Verbesserte Fehlerbehandlung für Antwort- und Socket-Zeitüberschreitungen.
  • 138414116 – Verbesserte Fehlerbehandlung für Fehler vom Typ „Verbindung verweigert“.

3.0.4

Am Donnerstag, dem 1. August, wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

  • 134445926 – Verbesserungen bei der internen Edge Microgateway-Authentifizierung.
  • 137582169: Ein Problem wurde behoben, bei dem unerwünschte Prozesse gestartet wurden. Die zusätzlichen Prozesse führten dazu, dass Plug-ins neu geladen wurden und übermäßig viel Arbeitsspeicher belegt haben. Edge Microgateway hält jetzt die Anzahl der Prozesse innerhalb des erwarteten Limits.
  • 137768774 – Verbesserungen bei Lognachrichten:
    • Transaktionslogs (Anfrage) wurden bereinigt.
    • Bei Bedarf wurden weitere Lognachrichten hinzugefügt.
    • Transaktions-Log-Nachrichten (Anfrage) wurden von der Konsolenausgabe in die relevante Log-Datei verschoben.
    • Konsolenlogs wurden aktualisiert, um eine zentralisierte Logging-Funktion zu verwenden.
  • 138321133, 138320563 – Grundlegende interne Änderung am Kontingentzwischenspeicher, um zukünftige Kontingenterweiterungen zu ermöglichen.

3.0.3

Am Dienstag, dem 23. Juli, wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

  • Verbesserungen beim Logging: Vorhandene Laufzeitlogs verwenden eine neue eventLog()-Funktion, mit der Laufzeitdaten in einem einheitlichen Format erfasst und protokolliert werden. Zu den Logdaten gehören:
    • Zeitstempel (ISO 8601: JJJJ-MM-TTTHH:mm:ss.sssZ).
    • Logebene (Fehler, Warnung oder Info).
    • Hostname: Der anfragende Hostname aus dem Anfrage-Header.
    • Process ID – Wenn Sie einen Cluster von Node.js-Prozessen ausführen, ist dies die ID des Prozesses, bei dem das Logging erfolgte.
    • Apigee-Organisationsname.
    • Name der Umgebung in der Organisation.
    • API-Proxy-Name.
    • IP-Adresse des Clients.
    • ClientId.
    • Korrelations-ID (derzeit nicht festgelegt).
    • Name der Edge Microgateway-Komponente.
    • Benutzerdefinierte Nachricht: Einige Objekte geben möglicherweise zusätzliche Informationen aus, die an diese Fehlereigenschaft übergeben werden.
    • Anfragemethode (falls HTTP-Anfrage)
    • Statuscode der Antwort (bei HTTP-Anfrage).
    • Eine Nachricht zu einem Fehler.
    • Fehlercode: Wenn ein Objekt einen Fehlercode enthält, wird er in dieser Eigenschaft ausgegeben.
    • Benötigte Zeit.
    • Markierung für das Zeilenende des Betriebssystems.

    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, wurden die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

Codequalität: Der Code wurde auf Qualität überprüft und Codeänderungen vorgenommen, um die von den Nutzern geforderten Qualitätsstandards zu erfüllen. Wir haben Fehler und Warnungen zur Codequalität, die aus JSHint abgeleitet wurden, behoben. Dadurch wurden einige tatsächliche Codefehler identifiziert und behoben. Dieser Prozess wurde auf alle Apigee Edge Microgateway-Module angewendet. Sehen Sie sich die Commits vom 28. Juni und 2. Juli für microgateway-config, microgateway-core, microgateway-plugins und microgateway an. Alle Module mit Änderungen der Codequalität wurden mit internen Tools getestet, die die Ausführung von Edge Microgateway für Kundenanwendungsfälle verifizieren.

3.0.1

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

  • 134834551 – Unterstützte Node.js-Versionen für Edge Microgateway ändern
    (Von Node.js unterstützte Versionen: 8 und 12; Versionen 7, 9 und 11 sind experimentell)
  • 134751883 – Edge Microgateway stürzt beim Aktualisieren unter Last ab
  • 134518428 – Produktendpunkt für Edge Microgateway gibt 5XX zurück, wenn das Filtermuster falsch ist.
  • 135113408 – Worker sollten neu gestartet werden, wenn sie unerwartet beendet wurden
  • 134945852 – tokenCacheSize wird im OAuth-Plug-in nicht verwendet
  • 134947757 – CacheTTL im OAuth-Plug-in festlegen
  • 135445171 – Die Berechnung des Kulanzzeitraums in OAuth ist nicht korrekt.
  • Mit der Edge Microgateway-Installation bereitgestelltes Speichermodul verwenden
  • 135367906 – Sicherheitsprüfung

Version 2.5.x

Neue Funktionen und Verbesserungen Version 2.5.x

(Behoben am 2.5.38, 07.06.2019)

Falsch formatierte JWTs können bei Verwendung des Token-Cache zum Absturz von Workern führen. Das Problem wurde im Edge-Microgateway-Plug-in-Modul behoben. (b/134672029)

(2.5.37 hinzugefügt) Fügen Sie die Befehlszeilenoption edgemicro-cert -t hinzu.

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

(2.5.35 hinzugefügt) Unterstützung für das Debuggen von Edge Microgateway mit edgemicroctl hinzufügen.

Sie können das Flag mgdebug mit edgemicroctl verwenden. Weitere Informationen finden Sie unter Kubernetes-Einbindungsaufgaben.

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

(2.5.31 hinzugefügt) Neue Edgemicro-auth/Token API

Eine neue Edgemicro-auth/Token API wurde hinzugefügt, mit der Sie den Client/das Secret als Base64-codierten Basisautorisierungsheader und den Grants_type als Formularparameter übergeben können. Weitere Informationen finden Sie unter Inhabertoken direkt abrufen.

(Behoben 2.5.31) Bei der privaten Konfiguration wird das Token-Flag nicht berücksichtigt.

Ein Problem wurde behoben, bei dem die Konfiguration von Edge Microgateway zur Verwendung eines OAuth2-Zugriffstokens in Edge für Private Cloud nicht ordnungsgemäß funktionierte (das Token wurde nicht berücksichtigt).

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

(2.5.29 hinzugefügt) Wenn Sie eine Zertifizierungsstelle 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 Eine Zertifizierungsstelle verwenden, die von Node.js nicht als vertrauenswürdig eingestuft wird.

Docker: Unterstützung für TLS

(Version 2.5.29 hinzugefügt) Das in einem Docker-Container ausgeführte Edge Microgateway unterstützt jetzt TLS für eingehende Anfragen an den Edge Microgateway-Server (nordgebundene Anfragen) und für ausgehende Anfragen von Edge Microgateway an eine Zielanwendung (nach Süden gerichtete Anfragen).

In den folgenden Beispielen wird die Einrichtung dieser TLS-Konfigurationen ausführlich erläutert:

In diesen Beispielen erfahren Sie, wie Sie den Containerbereitstellungspunkt /opt/apigee/.edgemicro verwenden, um die Zertifikate zu laden, auf die dann in der Konfigurationsdatei von Edge Microgateway verwiesen wird.

Docker: Unterstützung für Anfrage-Proxys

(2.5.27 hinzugefügt) Wenn Sie Edge Microgateway in einem Docker-Container ausführen, können Sie mit diesen Optionen das Proxyverhalten steuern, wenn das Mikrogateway 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 Plug-ins

(2.5.27 hinzugefügt) Wenn Sie Edge Microgateway in einem Docker-Container ausführen, haben Sie jetzt zwei Möglichkeiten zum Bereitstellen von Plug-ins. Eine Möglichkeit, die Verwendung eines Docker-Bereitstellungspunkts, ist neu. Die andere Option, die zuvor vorhanden war, ist im Grunde unverändert. Das Dockerfile wurde jedoch aktualisiert. Weitere Informationen finden Sie unter den folgenden Links:

Neue OAuth-Token-Unterstützung für den KVM-Upgradebefehl

(2.5.27 hinzugefügt) Sie können ein OAuth-Token mit dem Befehl upgradekvm verwenden. Weitere Informationen finden Sie unter KVM upgraden.

APIs in Edge Analytics trennen

(2.5.26 hinzugefügt) Neue Analyse-Plug-in-Flags ermöglichen es Ihnen, einen bestimmten API-Pfad zu trennen, sodass er in den Edge Analytics-Dashboards als separater Proxy angezeigt wird. Sie können beispielsweise APIs für Systemdiagnosen trennen, damit sie nicht mit tatsächlichen API-Aufrufen verwechselt werden. Weitere Informationen finden Sie unter Pfade aus Analysen ausschließen.

Lokalen Proxy konfigurieren

(2.5.25 hinzugefügt) Mit einem lokalen Proxy müssen Sie nicht manuell einen Microgateway-fähigen Proxy in Apigee Edge erstellen. Stattdessen verwendet das Mikrogateway den Basispfad des lokalen Proxys. Weitere Informationen finden Sie unter Lokalen Proxymodus verwenden.

Eigenständigen Modus verwenden

(2.5.25 hinzugefügt) Sie können Edge Microgateway vollständig von einer Apigee Edge-Abhängigkeit getrennt ausführen. In diesem als eigenständigen Modus bezeichneten Szenario können Sie Edge Microgateway ohne Internetverbindung ausführen und testen. Weitere Informationen finden Sie unter Edge Microgateway im eigenständigen Modus ausführen.

Tasten widerrufen

(2.5.19 hinzugefügt) Es wurde ein neuer CLI-Befehl hinzugefügt, der die Key- und Secret-Anmeldedaten für eine Edge Microgateway-Konfiguration widerruft.

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

Docker-Unterstützung

(Version 2.5.19 hinzugefügt) Sie können die neueste Edge Microgateway-Version jetzt als Docker-Image herunterladen:

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

Kubernetes-Unterstützung

(Version 2.5.19 hinzugefügt) 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 mit Kubernetes einbinden – Übersicht.

Unterstützung der TCP-Nodelay-Option

(2.5.16 hinzugefügt) 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 bei jedem Aufruf von socket.write() sofort durch die Daten ausgelöst. Weitere Informationen finden Sie in der Node.js-Dokumentation.

Bearbeiten Sie die Edge Micro-Konfigurationsdatei so, um nodelay zu aktivieren:

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 Monitoring

(2.5.12 hinzugefügt) Dem Befehl edgemicro forever 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 Datei forever.json an.
-a, --actionstart oder stop. Die Standardeinstellung ist „start“.

Beispiele:

So starten Sie den dauerhaften Modus:

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

So kannst du die Option "Endgültig beenden" deaktivieren:

edgemicro forever -a stop

JWT-Schlüsselrotation

Ein neues Feature wurde hinzugefügt, mit dem Sie die öffentlichen/privaten Schlüsselpaare rotieren können, mit denen die JWT-Tokens für die OAuth-Sicherheit in Edge Microgateway generiert werden. Siehe JWT-Schlüssel rotieren.

Heruntergeladene API-Proxys filtern

Edge Microgateway lädt standardmäßig 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. Bei dieser Produktkonfiguration kann ein mit diesem Produkt verknüpfter API-Schlüssel mit jedem in Ihrer Organisation bereitgestellten Proxy verwendet werden. Ab Version 2.5.4 unterstützt Edge Microgateway diese Produktkonfiguration.

Dauerhafte Überwachung

Edge Microgateway hat eine Datei forever.json, mit der Sie steuern können, wie oft und in welchen Intervallen Edge Microgateway neu gestartet werden soll. In dieser Datei wird ein Dienst namens „always-monitor“ konfiguriert, der Forever programmatisch verwaltet. Weitere Informationen finden Sie unter Endgültiges Monitoring.

Zentrale Verwaltung der Edge Micro-Konfigurationsdatei

Wenn Sie mehrere Edge Microgateway-Instanzen ausführen, möchten Sie deren Konfigurationen möglicherweise von einem einzigen Standort aus verwalten. Dazu geben Sie einen HTTP-Endpunkt an, von dem Edge Micro seine Konfigurationsdatei herunterladen kann. Weitere Informationen finden Sie unter Endpunkt für Konfigurationsdatei angeben.

Unterstützung einer dauerhaften Befehlszeilenoption

(Version 2.5.8 hinzugefügt) Verwenden Sie den Befehl edgemicro forever [package.json], um den Speicherort der Datei forever.json anzugeben. Bevor dieser Befehl hinzugefügt wurde, musste sich die Konfigurationsdatei im Edge Microgateway-Stammverzeichnis befinden.

Beispiel:

edgemicro forever ~/mydir/forever.json

Ergänzung der Option configUrl für den Befehl zum erneuten Laden

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

Kulanzzeitraum für JWT-Zeitabweichungen

2.5.7 hinzugefügtgracePeriod Legen Sie für dieses Attribut die Anzahl der Sekunden fest, um solche Abweichungen zu berücksichtigen. Siehe OAuth-Attribute.

2.5.7 hinzugefügtgracePeriod Legen Sie für dieses Attribut die Anzahl der Sekunden fest, um solche Abweichungen zu berücksichtigen. Siehe OAuth-Attribute.

Behobene Fehler in Version 2.5.x

  • (Problem 236) Tippfehler beim Leeren des Cache wurden korrigiert.
  • (Problem 234) Abstürze bei Edge Microgateway 2.5.35 neu laden.
  • Problem 135: Fehler bei ungültiger Verweis-URL auf virtuellen Host, wenn die Option -v verwendet wird. Diese Fehlerkorrektur ändert den Edgemicro-Auth-Proxy vor der Bereitstellung, um sicherzustellen, dass die virtuellen Hosts genau mit dem übereinstimmen, was im Flag "-v" angegeben ist. Darüber hinaus können Sie eine beliebige Anzahl und einen beliebigen Namen für den virtuellen Host angeben (nicht mehr auf Standard und sicher beschränkt).
  • (Problem 141) Der Befehl edgemicrorefresh unterstützt die Konfigurationsdateioption -c nicht. Dieses Problem wurde inzwischen behoben.
  • (Problem Nr. 142) Edge Microgateway beschwert sich über die bei der Installation verworfene Verschlüsselung. Dieses Problem wurde inzwischen behoben.
  • Problem 145: Kontingent funktioniert nicht mit Edge Microgateway. Dieses Problem wurde inzwischen behoben.
  • (Problem der Apigee-Community: https://community.apigee.com/questions/33149/emg-jwt-token-validd-against- both-api-proxies-a.html#answer-33336) JWT-Token wurde für API-Proxys und 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 mit OAuth nicht. Dieses Problem wurde inzwischen behoben.
  • Probleme mit pidPath unter Windows beheben.
  • (Problem 157) Das Problem, das zur folgenden Fehlermeldung geführt 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 von Node.js abhängig, um JWT-Unterstützung bereitzustellen.

Version 2.4.x

Neue Funktionen und Verbesserungen Version 2.4.x

1. Benutzerdefinierten Alias für den Edgemicro-Auth-Proxy festlegen (PR 116)

Sie können den Standardbasispfad für den Proxy edgemicro-auth ändern. Standardmäßig ist der Basispfad /edgemicro-auth. Verwenden Sie das Flag -x im Befehl edgemicro configure, um dies zu ändern.

Beispiel:

edgemicro configure -x /mypath …


2. Platzhalterunterstützung für Basispfade (PR 77)

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

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

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

Die Mikrogateway-Konfigurationsdatei befindet sich standardmäßig in ./config/config.yaml. Für die Befehle zum Starten, Konfigurieren und Starten können Sie jetzt mit den Flags -c oder --configDir einen benutzerdefinierten Konfigurationspfad in der Befehlszeile 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, gibt es zwei Optionen:

Option 1:

Die erste Möglichkeit besteht darin, die Option „edgemicro: proxy_tunnel“ in der Konfigurationsdatei des Mikrogateways auf „true“ zu setzen:

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

Wenn proxy_tunnel den Wert true hat, verwendet Edge Microgateway die Methode HTTP CONNECT, um HTTP-Anfragen über eine einzelne TCP-Verbindung zutunneln. Das Gleiche gilt, wenn die Umgebungsvariablen zum Konfigurieren des Proxys TLS aktiviert 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 die Hosts, die keine Edge Microgateway-Proxys verarbeiten sollen, zu steuern: HTTP_PROXY, HTTPS_PROXY und NO_PROXY. Sie können NO_PROXY als durch Kommas getrennte Liste von Domains festlegen, zu denen Edge Microgateway keinen Proxy senden soll. Beispiel:

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

Weitere Informationen zu diesen Variablen finden Sie unter:

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 einem 504-Statuscode.

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

Edge Microgateway respektiert benutzerdefinierte HTTP-Statusmeldungen, die in der Zielantwort festgelegt wurden. In früheren Releases wurden vom Ziel gesendete Statusmeldungen mit Node.js-Standardeinstellungen überschrieben.

7. Der Header „X-Forwarded-For“ kann die „client_ip“ für Analysen festlegen

Falls vorhanden, legt der Header X-Forwarded-For die Variable client_ip fest, die in Edge Analytics gemeldet wird. Dieses Feature informiert Sie über die IP-Adresse des Clients, der eine Anfrage an Edge Microgateway gesendet hat.

8. OAuth-Plug-in-Änderungen

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 (unter Wahrung der Abwärtskompatibilität).

Die OAuth-Plug-ins fügen zwei neue Flags hinzu:

  • allowOAuthOnly: Wenn auf true gesetzt, muss jede API einen Autorisierungsheader mit einem Zugriffstoken für den Inhaber enthalten.

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

Legen Sie diese Flags in der Konfigurationsdatei von Edge Microgateway so fest:

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

9. Verbesserter Edgemicro-Auth-Proxy (PR 40)

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

10. Standard-Ziel-URL in einem Plug-in umschreiben (PR 74)

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

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

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

-t, --token <token>

Beispiel:

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

Behobene Fehler in Version 2.4.3

  • Eine kostenpflichtige Organisation musste den Edgemicro-Auth-Proxy ordnungsgemäß ausführen. Dieses Problem wurde behoben. Jetzt können Sie Edge Microgateway auch mit Testorganisationen verwenden. (PR 5)
  • Ein Problem wurde behoben, bei dem die Verarbeitung der Daten im Stream noch nicht abgeschlossen war, End-Handler aber trotzdem ausgeführt wurden. Dies hat dazu geführt, dass eine Teilantwort gesendet wurde. (PR 71)
  • Ein Problem wurde behoben, durch das ein benutzerdefiniertes Konfigurationsverzeichnis für Private Cloud-Installationen nicht erkannt wurde. (PR 110)
  • Ein Problem mit bidirektionalem SSL zwischen dem Client und Edge Microgateway wurde behoben. (PR 70)
  • Ein Problem wurde behoben, bei dem auf dem Proxy-Basispfad ein abschließender Schrägstrich erforderlich war, damit die API-Schlüsselüberprüfung ordnungsgemäß funktionierte. Jetzt ist am Ende des Basispfads kein abschließender Schrägstrich erforderlich. (PR 48)

Version 2.3.5

Neue Funktionen und Verbesserungen Version 2.3.5

Proxyfilter

Sie können filtern, welche Microgateway-fähigen Proxys eine Edge Microgateway-Instanz verarbeitet. Beim Start von Edge Microgateway werden alle Microgateway-fähigen Proxys in der zugehörigen Organisation heruntergeladen. Verwenden Sie die folgende Konfiguration, um festzulegen, welche Proxys das Mikrogateway verarbeiten soll. Diese Konfiguration beschränkt die vom Mikrogateway verarbeiteten Proxys beispielsweise 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 Anfragepfadinformationen in der Edge-Analyse angezeigt werden. Fügen Sie der Mikrogateway-Konfiguration Folgendes hinzu, um den Anfrage-URI und/oder den Anfragepfad zu maskieren. Der URI besteht aus dem Hostnamen und dem Pfadteil der Anfrage.

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

Version 2.3.3

Neue Funktionen und Verbesserungen Version 2.3.3

Im Folgenden finden Sie die neuen Funktionen und Verbesserungen in dieser Version.

Automatische Änderungsabfragen deaktivieren

Sie können die automatische Änderungsabfrage deaktivieren, indem Sie dieses Attribut in der Mikrogateway-Konfiguration festlegen:

disabled_config_poll_interval: true

Standardmäßig werden bei regelmäßigen Abfragen alle in Edge vorgenommenen Änderungen (Änderungen an Produkten, Microgateway-fähigen Proxys usw.) sowie Änderungen an der lokalen Konfigurationsdatei erfasst. Das standardmäßige Abfrageintervall beträgt 600 Sekunden (5 Minuten).

Ziel-URLs in Plug-ins umbenennen

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

Neue Plug-in-Funktionssignatur

Es wurde eine neue Plug-in-Funktionssignatur hinzugefügt, die die Zielantwort als Argument bereitstellt. Diese Ergänzung erleichtert Plug-ins den Zugriff auf die Zielantwort.

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

Vereinfachte Standard-Logging-Ausgabe

Standardmäßig lässt der Logging-Dienst jetzt die JSON-Datei der heruntergeladenen Proxys, Produkte und JWT aus. Sie können zur Standardausgabe dieser Objekte wechseln. Legen Sie dazu beim Start von Edge Microgateway DEBUG=* fest. Beispiel:

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

Benutzerdefinierter Konfigurationspfad wurde der Befehlszeile hinzugefügt

Die Konfigurationsdatei für das Microgateway ist standardmäßig in ./config/config.yaml gespeichert. Für die Befehle zum Starten, Konfigurieren und Starten können Sie jetzt in der Befehlszeile einen benutzerdefinierten Konfigurationspfad 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 umfangreichen Anfragen/Antworten aufgetreten ist.
  • Die Reihenfolge der Plug-in-Ausführung wurde korrigiert. Es verhält sich jetzt so, wie es in der Dokumentation erläutert wird.
  • Das Plug-in "Akkumulierungsanfrage" hängt sich bei GET-Anfragen nicht mehr auf.
  • Im Akkumulations-Plug-in wurde ein Problem behoben, bei dem ein fehlender Antworttext zu Fehlern führte.

Version 2.3.1

Installationshinweis

Bei einigen früheren Versionen von Edge Microgateway können Sie die Software durch Herunterladen einer ZIP-Datei installieren. Diese ZIP-Dateien werden nicht mehr unterstützt. Zum Installieren von Edge Microgateway müssen Sie Folgendes verwenden:

npm install -g edgemicro

Weitere Informationen finden Sie im Installationsthema.

Neue Funktionen und Verbesserungen Version 2.3.1

Im Folgenden finden Sie die neuen Funktionen und Verbesserungen in dieser Version.

Proxys filtern

Mit einer neuen Konfiguration können Sie filtern, welche Proxys, die Edge Microgateway beim Start laden, geladen wird. Zuvor hat das Mikrogateway alle Microgateway-fähigen Proxys (Proxys mit dem Namen „edgemicro_*“) geladen, die aus der Edge-Organisation/-Umgebung abgerufen wurden, die Sie im Edgemicro-Konfigurationsbefehl angegeben haben. Mit diesem neuen Feature können Sie diese Liste von Proxys so filtern, dass Edge Microgateway nur die von Ihnen angegebenen Proxys lädt. Fügen Sie der Konfigurationsdatei des Mikrogateways einfach das Proxy-Element hinzu:

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

Angenommen, Sie haben 50 edgemicro_*-Proxys in Ihrer Edge-Organisation/-Umgebung, darunter diejenigen mit den Namen edgemicro_foo und edgemicro_bar. Sie können das Mikrogateway so anweisen, nur diese beiden Proxys zu verwenden:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Beim Start kann das Mikrogateway nur die angegebenen Proxys aufrufen. Jeder Versuch, andere Microgateway-fähige Proxys aufzurufen, die aus der Edge-Organisation/-Umgebung heruntergeladen wurden, führen zu einem Fehler.

Zielanfrageheader in Plug-ins festlegen

Es gibt zwei grundlegende Muster, die Sie berücksichtigen sollten, wenn Sie Zielanfrageheader hinzufügen oder ä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).

Betrachten wir einen Fall, bei dem die eingehende Anfrage Daten enthält und Sie Anfrageheader für die Zielanfrage festlegen möchten. 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 vom Client eingehenden Daten zu akkumulieren. Verwenden Sie dann in der Funktion onend_request() die neue Funktion request.setOverrideHeader(name, value), um die Header anzupassen.

Hier ist ein Beispiel-Plug-in-Code, der dies verdeutlicht. 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 im onrequest()-Handler Zielheader festlegen. Dieses Muster ist nicht neu – es wurde bereits dokumentiert und in den mit Edge Microgateway bereitgestellten Beispiel-Plug-ins verwendet.

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 Neuladen ohne Ausfallzeiten

Nachdem Sie eine Konfigurationsänderung an Edge Microgateway vorgenommen haben, können Sie die Konfiguration laden, ohne Nachrichten zu löschen. Mit dieser Änderung wird Edge Microgateway immer im Clustermodus gestartet und die Option --cluster wurde aus dem Befehl edgemicro start entfernt.

Außerdem wurden drei neue CLI-Befehle hinzugefügt. Sie müssen diese Befehle in demselben Verzeichnis ausführen, in dem der Edgemicro-Startbefehl ausgeführt wurde:

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

Automatisches Aktualisieren der Konfiguration ohne Ausfallzeiten

Edge Microgateway lädt regelmäßig eine neue Konfiguration und führt eine Aktualisierung durch, wenn sich etwas geändert hat. Die Abfrage erfasst alle in Edge vorgenommenen Änderungen (Änderungen an Produkten, Microgateway-fähigen Proxys usw.) sowie Änderungen an der lokalen Konfigurationsdatei. Das standardmäßige Abfrageintervall beträgt 600 Sekunden (5 Minuten). Sie können die Standardeinstellung in der Microgateway-Konfigurationsdatei so ändern:

edgemicro:
    config_change_poll_interval: [seconds]

Versionsinformationen in Befehlszeile hinzugefügt

Der Befehlszeile wurde das Flag --version hinzugefügt. Verwenden Sie Folgendes, um die aktuelle Version von Edge Microgateway abzurufen:

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, der die Passphrase für den privaten Schlüssel oder PFX enthält.
ca Pfad zu einer Datei mit einer Liste vertrauenswürdiger Zertifikate im PEM-Format.
ciphers Ein String, der die zu verwendenden Chiffren beschreibt, getrennt durch ein ":".
rejectUnauthorized Bei „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 TLS-Erweiterung für SNI (Server Name Indication).

Protokolldateien 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 finden Sie die neuen Funktionen und Verbesserungen in dieser Version.

Benutzerdefinierten API-Endpunkt für die Konfiguration zulassen

Es gibt neue konfigurierbare Endpunkte für den Autorisierungs-Proxy, die die Verwendung eines benutzerdefinierten Authentifizierungsdienstes unterstützen. Diese Endpunkte sind:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Weitere Informationen finden Sie unter Benutzerdefinierten Authentifizierungsdienst verwenden.

Version 2.1.1

Im Folgenden finden Sie die neuen Funktionen und Verbesserungen in dieser Version.

Plattformübergreifende Kompatibilität des Auth-Proxys bereitstellen

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

Version 2.1.0

Neue Funktionen und Verbesserungen Version 21.0

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

Client-SSL/TLS-Optionen angeben

Mit einem neuen Satz von Konfigurationsoptionen können Sie Clientoptionen für SSL/TSL-Verbindungen zu Zielen angeben. Weitere Informationen finden Sie unter Client-SSL/TSL-Optionen verwenden.

Version 2.0.11

Installationshinweis v2.0.11

Bei einigen früheren Versionen von Edge Microgateway können Sie die Software durch Herunterladen einer ZIP-Datei installieren. Diese ZIP-Dateien werden nicht mehr unterstützt. Zum Installieren von Edge Microgateway müssen Sie Folgendes verwenden:

npm install -g edgemicro

Weitere Informationen finden Sie im Installationsthema.

Neue Funktionen und Verbesserungen Version 2.0.11

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

Beim Start einen Port angeben

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

Optionale Authentifizierungsheader beibehalten

Mit der neuen Konfigurationseinstellung keepAuthHeader können Sie den in der Anfrage gesendeten Autorisierungsheader beibehalten. Wenn die Richtlinie auf „true“ gesetzt ist, wird der Auth-Header an das Ziel übergeben. Siehe OAuth-Attribute.

Möglichkeit zur Verwendung eines benutzerdefinierten Autorisierungsdiensts

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

Version 2.0.4

Edge Microgateway v2.0.4 wurde am 25.Mai 2016 veröffentlicht.

Neue Funktionen und Verbesserungen Version 2.0.4

Im Folgenden sind die neuen Funktionen und Verbesserungen in dieser Version 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 anhand des Proxy-Pfadsuffixes einschränken. Weitere Informationen zum Erstellen von Produkten und zum Konfigurieren von Ressourcenpfaden finden Sie unter API-Produkte erstellen.

Unterstützung für globale npm-Installation

Sie können jetzt Edge Microgateway mit der Option „npm -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 Version 2.0.0

Im Folgenden sind die neuen Funktionen und Verbesserungen in dieser Version aufgeführt.

Einzelner Prozessserver

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

Konfigurationsdateien mit Namespace

Konfigurationsdateien werden jetzt mithilfe von Organisation und Umgebung mit einem Namespace versehen, sodass mehrere Microgateway-Instanzen auf demselben Host ausgeführt werden können. Sie finden die Konfigurationsdateien unter ~/.edgemicro, nachdem Sie den Edge Microgateway config-Befehl ausgeführt haben.

Neue Umgebungsvariablen

Es gibt jetzt vier Umgebungsvariablen: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY und EDGEMICRO_SECRET. Wenn Sie diese Variablen auf Ihrem System festlegen, müssen Sie ihre Werte nicht angeben, wenn Sie Edge Microgateway über die Befehlszeile konfigurieren und starten.

Konfiguration im Cache

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

Clustermodus

Es gibt jetzt Optionen zum Starten von Edge Microgateway im Clustermodus. Der Clustermodus ermöglicht Ihnen, die Vorteile von Mehrkernsystemen zu nutzen. Das Mikrogateway verwendet das Node.js-Clustermodul für diese Funktion. Weitere Informationen finden Sie in der Node.js-Dokumentation.

Behobene Fehler in Version 2.0.0

Der Lebenszyklus von Plug-in-Ereignissen verarbeitet asynchronen Code, der Code mit einem neuen Callback enthält, jetzt korrekt.

Version 1.1.2

Edge Microgateway Version 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 dieser Version aufgeführt.

Leistungssteigerung

Edge Microgateway verwendet den Node.js-HTTP-Agent jetzt ordnungsgemäß, um das Verbindungs-Pooling zu verbessern. Diese Verbesserung verbessert die Leistung und Gesamtstabilität unter hoher Last.

Unterstützung für Remote-Debugger

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

Speicherort der neuen Konfigurationsdatei

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

Rotation der Protokolldateien

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

Behobene Fehler in v1.1.2

Die folgenden Fehler wurden in Version 1.1.2 behoben.

Beschreibung
Java-Callout für den Edgemicro-internen Proxy, der mit lokalem Edge verwendet wird, verwendet jetzt den rechten MGMT-Server.
Typskript-Abhängigkeiten werden vom Agent entfernt.
CLI-Fehler bei Verwendung der schlanken Bereitstellungsoption behoben
Korrigieren Sie die Abhängigkeitsreferenz für die Zertifikatlogik.