Edge Microgateway-Versionshinweise

Sie sehen die Apigee Edge-Dokumentation.
Rufen Sie die Apigee X-Dokumentation auf.
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:

Mikrogateway 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

Unterstützte Node.js-Versionen sind 16, 18 und 20. Ab Version 3.3.2 funktionieren Edge Microgateway-Befehlszeilenbefehle 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 mit einer App verknüpften API-Produkte zurückgegeben hat. Wir bestimmen jetzt anhand der Anfrage das richtige API-Produkt, das zurückgegeben wird.

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 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.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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)

Der Befehl private configure hat beim Konfigurieren für eine private Cloud einen Fehler ausgegeben.

233315475 Bug (Fehler)

Ein Problem wurde behoben, bei dem das Plug-in json2xml bei der Transformation der Antwort von JSON in XML und bei Verwendung in Kombination mit dem Plug-in accumulate-response einen Parsing-Fehler ausgab.

221432797 Umsteigen

Die Docker-/Node.js-Version des Basis-Edge Microgateway-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 jetzt 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 Version 3.7.0. Wenn Sie eine neue ZIP-Datei erstellen, deren Dateinamen auf Objektprototypen-Werte gesetzt sind (z. B. proto, toString usw.), wird ein Objekt mit einer geänderten Prototypinstanz zurückgegeben.

3.3.0

Am 4. Februar 2022 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.0 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 npmaudit 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 Apigee Analytics 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, falls sich der öffentliche Schlüssel des IdP ändert. Bisher konnte das extauth-Plug-in den öffentlichen Schlüssel nicht aktualisieren, ohne Edge Microgateway neu zu laden, wenn sich der öffentliche Schlüssel eines IdP geändert hat.
168713541 Bug (Fehler)

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

171538483 Bug (Fehler)

Die Dokumentation wurde geändert, um die Namenskonvention 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-Upgrade ausführen, wenn Sie eine Internetverbindung haben.

215748427 Bug (Fehler) Ein Problem wurde behoben, bei dem beim Widerruf eines Schlüssels mit einem vorhandenen Schlüssel/Geheimnis-Paar ein Fehler zurückgegeben wurde.
205524197 Bug (Fehler) Die Dokumentation wurde aktualisiert und enthält nun eine vollständige Liste der Protokollierungsstufen. Weitere Informationen finden Sie unter edgemicro-Attribute und So legen Sie die Logging-Ebene fest.

Version 3.2.x

Fehlerkorrekturen und Verbesserungen für Version 3.2.x

3.2.3

Am 17. September 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.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 nicht mit dem Befehl docker stop {containerId} ordnungsgemäß heruntergefahren wurde. Der Prozess wurde abgebrochen, die Dateien .sock und .pid wurden jedoch nicht entfernt. Jetzt werden die Dateien entfernt und ein 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ängengeblieben 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 Kopiereigenschaften des Pakets vor 2.0.5 sind über die Hauptfunktion anfällig für Prototyp-Verschmutzung.
CVE-2021-23343 Alle Versionen des Parsings des Paketpfads sind anfällig für ReDoS-Angriffe (Regular Expression Denial of Service) über die regulären Ausdrücke „splitDeviceRe“, „splitTailRe“ und „splitPathRe“. ReDoS weist eine polynomische 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:

Mikrogateway 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 Aktualisierungstokenanfragen geben jetzt expires_in als ganzzahligen Wert in Sekunden zurück.

Gemäß RFC 6749 – OAuth 2.0 Authorization Framework wurde der erwartete Wert für den Konfigurationsparameter expires_in von String in Ganzzahl geändert. Weitere Informationen finden Sie in der Referenz für Vorgänge und Konfiguration.

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

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

183990345 Funktion Logausgabe für Docker-Container konfigurieren

Mit dem Konfigurationsparameter to_console von Edge Microgateway 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 standardmäßig stdout und Fehlerausgabe an eine Datei weiter, die sich im Container am Speicherort ${APIGEE_ROOT}/logs/edgemicro.log befindet.

Wenn Sie verhindern möchten, dass Protokollinformationen 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. Siehe 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. Siehe 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 Attribute eines Objekts über „__proto__“ mit den Funktionen mutate() undmerge() hinzufügen oder ändern. Das Attribut „verschmutzt“ wird jedem Objekt im Programm direkt zugewiesen. Dadurch ist die Verfügbarkeit des Programms gefährdet und es kann zu einem Denial of Service (DoS) kommen.
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 gibt keinen bekannten praktischen Angriff.
CVE-2021-23358 Paketunterstrich aus 1.13.0-0 und vor 1.13.0-2, von 1.3.2 und vor 1.12.1 sind anfällig für Einschleusungen von willkürlichem Code über die Vorlagenfunktion, insbesondere wenn ein Variablenattribut als Argument übergeben wird, da es nicht bereinigt ist.
CVE-2021-29469 Node-redis ist ein Node.js-Redis-Client. Vor Version 3.1.1 konnte der Regex bei Clients, die sich im Monitoringmodus befinden, zur Erkennung von Überwachungsnachrichten verwendet werden, was zu einem exponentiellen Backtracking bei einigen Strings führen konnte. Dieses Problem kann 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, 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.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 dazu führten, dass Anwendungen fehlschlugen.

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

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

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

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

179674670 Funktion Eine neue Funktion wurde 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 ein neues Attribut mit dem Namen allowProductStatus hinzugefügt. So kannst du dieses Attribut zum Filtern von API-Produkten verwenden, die im JWT aufgeführt sind:

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

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

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

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

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

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

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

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

Wenn die Schlüssel- und Secret-Werte beim Starten des Mikrogateways in der Befehlszeile übergeben werden, haben die Einstellungen Vorrang vor allen anderen Umgebungsvariablenwerte, falls festgelegt. In diesem Fall sind die Werte weiterhin in den Befehlszeilenargumenten des Process Explorers sichtbar.

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

Die Readme-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 ist 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 können Sie das gewünschte Verhalten steuern. Wenn true festgelegt ist, wird der Anfrageheader transfer-encoding: chunked allen GET-Anfragen hinzugefügt und eine GET-Nutzlast, sofern vorhanden, an das Ziel gesendet. Bei false (Standardeinstellung) wird die Nutzlast ohne Rückmeldung 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 eine GET-Anfragenutzlast keine definierte Semantik und kann an das Ziel gesendet werden.

3.2.0

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

Komponentenversionen:

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

Mikrogateway 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. Das x-api-key ist dann für nachfolgende Plug-ins verfügbar.
168836123, 172295489, 176462355, 176462872 Funktion Node.js 14 wird jetzt unterstützt.
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 dieser jedoch mit der Zeiteinheit für refresh_token_expires_in übereinstimmen, die in Sekunden angegeben ist.

Durch die Fehlerbehebung wird nicht die Länge 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 waren es schon immer mit der Zeiteinheit seconds.

Wenn sich Clients auf den Wert expires_in in Millisekunden verlassen haben, um Tokens vor Ablauf der Tokens zu aktualisieren, würde das Anwenden dieser Fehlerkorrektur, ohne die Clients zu ändern, 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 auszuwerten, müssen die Clients normalerweise nicht geändert werden.

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

Dies ist ein zeitweiliges Problem, das bei Anfragen mit hoher Nutzlastgröße auftritt und mit dem Release 3.1.7 eingeführt wurde.

174640712 Bug (Fehler) Hier erfahren Sie, wie Sie Plug-ins die richtige Datenverarbeitung 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, 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.8 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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.

Beim Ersetzen von Umgebungsvariablen werden alle Werte als Strings geparst, was zu Analysefehlern für boolesche oder numerische Werte führte. Beispiel: edgemicro.port erwartet und erfordert einen numerischen Wert. Es wurden Korrekturen vorgenommen, um boolesche und numerische Werte zu unterstützen. Einzelheiten 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.

Die Ersetzung 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-Proxy-Zugriff nicht wie erwartet durch OAuth-Bereiche eingeschränkt wurde.

Der Ablauf /token im Proxy edgemicro-auth hat JWTs generiert, für die in Edge nicht die richtigen Produktbereiche definiert wurden. Das war das Ergebnis von zwei verschiedenen Szenarien: 1) Die Nutzlast der Anfrage an den Ablauf /token hat einen Bereichsparameter nicht übergeben oder 2) ein ungültiger Bereich wurde in der Anfragenutzlast an den Ablauf /token ü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-Fluss 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 nicht für benutzerdefinierte Plug-ins zur Verfügung gestellt und nicht in die Cache-Konfigurationsdatei geschrieben. Unter Informationen zur init()-Funktion des Plug-ins erfahren Sie, wie Plug-ins auf Details zum Umfang zugreifen können.

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

Der Edge Microgateway-Schlüssel und das Edge Microgateway-Secret wurden bei jedem Neulade-/Startvorgang in der YAML-Konfigurationsdatei für den Cache gespeichert. In 3.1.8 werden der Schlüssel und das 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 eingeführt, um das Analyse-Plug-in zu aktivieren oder zu deaktivieren. Weitere Informationen finden Sie unter Konfigurationsreferenz.

159571119 Bug (Fehler) Ein Nullfehler wird im onerror_request-Hook in benutzerdefinierten Plug-ins für das Antwort-/Socket-Zeitlimit abgerufen.

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

3.1.7

Am Donnerstag, den 24. September 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.7 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 der Entwickleranwendung wurden in Analytics 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 war der vollständige Proxy-URI in der Antwortnachricht enthalten.
166356972 Bug (Fehler)

Das Ausführen von Edge Microgateway mit Node.js Version 12.13.x oder höher führte beim Ausführen von Plug-ins, die die Anfragenutzlast transformieren, zum folgenden Fehler:

{"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 für Netzwerkfehler nicht protokolliert.

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

141659881 Bug (Fehler) Die Fehlerbehandlung bei einem ungültigen Zielzertifikat ergab irreführende Fehlerantworten.

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

Das Mikrogateway verarbeitet den „deny“-Abschnitt jetzt ordnungsgemäß und berücksichtigt die Reihenfolge der „allow“- und „deny“-Abschnitte. Der Microgateway-Konfigurationsdatei wurde das neue Attribut noRuleMatchAction hinzugefügt, um Parität mit der AccessControl-Richtlinie von Apigee Edge zu gewährleisten. Weitere Informationen finden Sie in der Readme-Datei für das Plug-in für die Zugriffssteuerung auf GitHub (in englischer Sprache).

3.1.6

Am Donnerstag, dem 20. August 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.6 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 Speicherortoptionen für benutzerdefinierte 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 korrigieren

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

145525133 Alphafunktion Neue Plug-in-Messwerte

Weitere Informationen finden Sie in der Readme-Datei 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 der Basispfad nicht mit / endete.

Im Folgenden wird das bisherige Verhalten, das in 3.1.6 behoben wurde, weiter erläutert:

Angenommen, ein Proxy ist mit dem Basispfad /hello/v1 und einem Zielpfad zu https://mocktarget.apigee.net konfiguriert. Nehmen wir nun an, 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 richtig zugeordnet ist.
Anfragepfad Aufgelöster Pfad Ergebnis
/hello/v1json https://mocktarget.apigee.netjson (in englischer Sprache) 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 – Das an die Initialisierung übergebene Konfigurationsobjekt wird nicht ausgefüllt

Die Apigee Edge-Konfiguration wird nach der Zusammenführung mit der Edge Microgateway-Konfigurationsdatei im Konfigurationsobjekt für alle benutzerdefinierten Plug-ins verfügbar gemacht. 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:

Mikrogateway 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

Eine neue Konfigurationsfunktion wurde hinzugefügt, um die Verarbeitung von Plug-ins für bestimmte URLs zu überspringen. Weitere Informationen finden Sie unter Auszuschließende URLs für Plug-ins konfigurieren.

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

Es wurden Probleme behoben, bei denen das Plug-in doppelte Content-Type-Header erstellte und in einigen Fällen Header 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 Konfiguration oder in den Cache-Dateien gespeichert. Weitere Informationen finden Sie unter Konfigurationsattribute mit Umgebungsvariablen festlegen.

1.55077210 Bug (Fehler) Ein Problem mit der Logformatierung wurde behoben.

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

153673257 Bug (Fehler)

(Nur Edge für Private Cloud) Microgateway-fähige Produkte werden nicht abgerufen

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

154956890, 155008028, 155829434 Funktion Heruntergeladene Produkte nach benutzerdefinierten Attributen filtern

Weitere Informationen finden Sie unter Produkte nach benutzerdefinierten Attributen filtern.

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

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

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

Siehe auch JWT-Schlüssel rotieren.

3.1.4

Am Freitag, den 23. April 2020, haben wir die folgende Fehlerkorrektur für Edge Microgateway veröffentlicht.

Fehlerbehebung:

Ein Abhängigkeitsproblem in Version 3.1.3 wurde behoben. Version 3.1.3 wurde im npm-Repository als eingestellt 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, 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.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 3.1.0, 3.1.1 und 3.1.2 auf.
  • 153509313 – Ein Problem wurde behoben, bei dem für zwei verschiedene Transaktionen dieselbe Nachrichten-ID 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 seine 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, 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.3 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 Funktionsverbesserung wurde vorgenommen, um die HTTP-Proxy-Unterstützung für Traffic zwischen Edge Microgateway und Back-End-Zielen hinzuzufügen. Außerdem wurden Probleme mit der bestehenden HTTP-Proxy-Unterstützung zwischen Edge Microgateway und Apigee Edge behoben. Weitere Informationen:
  • 149101890: Der Logbenachrichtigungscode für Fälle, in denen der Zielserver oder Load-Balancer seine Verbindung trennt, wurde von ERROR in INFO geändert.
  • 150746985 – Ein Problem wurde behoben, bei dem der Befehl edgemicro verify nicht ordnungsgemäß funktionierte, wenn entweder 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, 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.1 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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ücksichtigte. Durch diese Ä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 Proxy-Konfiguration 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
    

    Sie müssen auch 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 wird mit dem Parameter das Node.js-Attribut Server.headersTimeout für Anfragen festgelegt. (Standardeinstellung: 5 Sekunden mehr als die mit edgemicro.keep_alive_timeout festgelegte Zeit. Diese Standardeinstellung verhindert, dass Load-Balancer oder Proxys die Verbindung versehentlich trennen.)

  • 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 TargetEndpoint-Attribut io.timeout.millis festlegen, kann Edge Microgateway dieses Attribut abrufen und endpunktspezifische 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:

Mikrogateway 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 WARN-Ebene wird protokolliert, wenn das Flag quotas.failOpen ausgelöst wird. Dieses Flag wird ausgelöst, wenn ein Fehler bei der Kontingentverarbeitung auftritt oder wenn die Anfrage zum Anwenden von Kontingenten an Edge Remote-Kontingentzähler nicht aktualisieren kann. In diesem Fall wird das Kontingent nur bis zur nächsten erfolgreichen Remote-Kontingentsynchronisierung basierend auf lokalen Zählungen verarbeitet. Bisher wurde dieses Ereignis nur protokolliert, wenn die Logebene auf DEBUG festgelegt war.

    Beispiel:

    2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][]
    [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not
    available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60]
    [GET][][][][]
  • 145023519: Ein Problem wurde behoben, bei dem laufende oder neue Transaktionen beeinträchtigt wurden, wenn Edge Microgateway eine Änderung an einem API-Proxy 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 „API Proxy Performance“ in Edge Analytics und Edge Microgateway-sourceResponse/targetResponse-Protokollereignissen berechnet wurde, wurde behoben. Jetzt ist die Latenz in Edge-Analysen und Microgateway-Protokollereignissen ausgerichtet.
  • Logische Änderungen in Bezug auf den Musterabgleich:
    • 147027862 – Das OAuth-Plug-in wurde aktualisiert, um die folgenden in API-Produkten angegebenen Abgleichsmuster 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 mit dem OAuth-Plug-in aktualisieren.
  • 143488312 – Ein Problem wurde behoben, bei dem führende 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 Mikrogateway-Instanzen können dann so konfiguriert werden, dass sie ihre Konfigurationsdaten aus der Datenbank lesen. Diese Funktion verleiht Edge Microgateway ein Maß 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:

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

Fehlerkorrekturen und Verbesserungen:

  • 142677575 – Eine Funktionsaktualisierung wurde vorgenommen, sodass der Musterabgleich für Ressourcenpfade, die in API-Produkten für Edge Microgateway verwendet werden, jetzt mit dem von Apigee Edge verwendeten Ressourcenpfadmusterabgleich übereinstimmt, wie unter Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren beschrieben.

    Hinweis: Wenn Sie ein zusammengesetztes Ressourcenmuster wie /*/2/** verwenden, müssen Sie darauf achten, dass der edgemicro_auth-Proxy einem eigenständigen API-Produkt hinzugefügt wird. 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 Verhalten eines Ressourcenpfads von „/“, „/*“ und „/**“ konfigurieren beschrieben, wird für Edge Microgateway nicht unterstützt.

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

    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - quota
    quotas:
      bufferSize:
        hour: 20000
        minute: 500
        default: 10000
      useDebugMpId: true
      failOpen: true
    ...
  • 141750056: Eine neue Funktion wurde hinzugefügt, mit der Sie Redis als Speicher zur Kontingentsicherung verwenden können. Wenn useRedis „true“ ist, wird das Modul volos-quota-redis verwendet. Wenn „true“, 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:

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

    Legen Sie die folgende Konfiguration fest, um die Kontingent-Funktion „Fail-Open“ zu aktivieren:

    quotas :
     failOpen : true

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

  • 142093764: Am edgemicro-auth-Proxy wurde eine Konfigurationsänderung vorgenommen, um Kontingentüberschreitungen zu verhindern. Als Änderung wird der Kontingenttyp auf calendar festgelegt. 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 die Protokollierung 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, den 26. September, 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.8 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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 dieser Funktion 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. Diese Funktion ermöglicht es Edge Microgateway, Anfragen bei einem vorübergehenden Verbindungsfehler fortzusetzen. Wenn die Verbindung fortgesetzt wird und ein erfolgreicher API-Schlüsselüberprüfungsaufruf durchgefü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 5 Sekunden wird ein Authentifizierungsfehler zurückgegeben.

  • 141168968: Es wurde eine Aktualisierung vorgenommen, um correlation_id in alle Plug-in-Logausgaben aufzunehmen. Außerdem wurden die Protokollebenen 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 von API-Schlüsseln verifiziert werden müssen. Edge Microgateway wurde aktualisiert, um bei jeder Anfrage zum Überprüfen von API-Schlüsseln den Schlüssel und das Secret zu senden. Diese Änderung verhindert, dass Clients ein JWT nur mit einem API-Schlüssel abrufen.
  • 140090250: Die Diagnoseprotokollierung für die Kontingentverarbeitung wurde aktualisiert. Mit dieser Änderung ist es jetzt möglich, die Logausgabe von Quotto mit dem Rest der Edge Microgateway-Logs zu korrelieren.

3.0.7

Am Donnerstag, dem 12. September, 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.7 verknüpft sind. Da jede Komponente ein separates Projekt ist, stimmen die Release-Nummern möglicherweise nicht mit der Hauptproduktversion überein:

Mikrogateway 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, um gegebenenfalls einen 5xx-Statuscode zurückzugeben. Bisher gab das Plug-in nur in allen nicht 200-Fällen 4xx-Statuscodes 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 für Ihre 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 aktualisieren.

  • 140470888 – Ein Autorisierungsheader wurde Kontingentaufrufen zur Authentifizierung hinzugefügt. Außerdem wurde der edgemicro-auth-Proxy geändert, um „organization“ 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

    in Version 3.0.6 falsch dokumentiert wurde. 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 App 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 – Neues Konfigurationsattribut hinzugefügt: keepAliveTimeout. Mit diesem Attribut können Sie das Edge Microgateway-Zeitlimit (in Millisekunden) festlegen. (Standardeinstellung: 5.000 Millisekunden)

    Beispiel:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 – Neues Konfigurationsattribut hinzugefügt: quotaUri. Legen Sie dieses Konfigurationsattribut fest, wenn Sie Kontingente über den edgemicro-auth-Proxy verwalten möchten, der für Ihre 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://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 für Ihre Organisation bereitstellen. Weitere Informationen finden Sie unter Upgrade des Edgemicro-auth-Proxys.

  • 138722809 – Neues Konfigurationsattribut hinzugefügt: stack_trace. Mit diesem Attribut 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, haben wir die folgenden Fehlerbehebungen und Verbesserungen für Edge Microgateway veröffentlicht.

Behobene Fehler
  • 139005279 – Ein Problem wurde behoben, bei dem der Befehl edgemicro status nicht die richtige Anzahl von Worker-Prozessen zurückgibt.
  • 138437710 – In der Klasse ExitCounter wurde ein Problem behoben, das verhinderte, dass das richtige Protokoll geschrieben werden konnte.
Allgemeine Verbesserungen von Lognachrichten
  • 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 Protokollebenen hinzugefügt. Derzeit sind die Logebenen info, warn und error verfügbar.
  • 139064616 – Die Logausgabe wurde für alle Konsolen-Logberichte standardisiert. Die Logging-Anweisungen in der Konsole enthalten jetzt folgende Attribute:
    • Zeitstempel
    • Komponentenname
    • Prozess-ID
    • Konsolen-Lognachricht
Verbesserungen für JWT-Schlüssel und Secret-Lognachrichten
  • 138413755 – JWT-Schlüssel- und Secret-bezogene Lognachrichten für folgende CLI-Befehle verbessern: cert, verify, upgradekvm, token, genkeys, cancelkeys, draftkey and config.
Verbesserungen der Fehlermeldungen bei Zeitüberschreitung und abgelehnter Verbindung
  • 138413577 – Fehlerbehandlung für Zeitüberschreitungen von Back-End-Diensten wurde hinzugefügt und verbessert.
  • 138413303: Verbesserte Fehlerbehandlung für Antwort- und Socket-Zeitüberschreitungen.
  • 138414116 – Fehlerbehandlung für Fehler vom Typ „Verbindung verweigert“ wurde hinzugefügt und verbessert.

3.0.4

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

  • 134445926 – Verbesserungen an der internen Edge Microgateway-Authentifizierung.
  • 137582169 – Ein Problem wurde behoben, durch das unerwünschte Prozesse gestartet wurden. Die zusätzlichen Prozesse führten dazu, dass Plug-ins neu geladen wurden und übermäßigen Arbeitsspeicher belegt wurden. 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 aus der Konsolenausgabe in die entsprechende Log-Datei verschoben.
    • Die 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, haben wir 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 Loginformationen gehören:
    • Zeitstempel (ISO 8601: JJJJ-MM-TTTHH:mm:ss.sssZ).
    • Protokollebene (Fehler, Warnung oder Informationen).
    • Hostname - Der anfragende Hostname aus dem Anfrage-Header.
    • Prozess-ID – Wenn Sie einen Cluster von Node.js-Prozessen ausführen, ist dies die ID des Prozesses, in dem das Logging erfolgt ist.
    • Apigee-Organisationsname.
    • Umgebungsname in der Organisation.
    • API-Proxy-Name.
    • IP-Adresse des Clients.
    • ClientId.
    • Korrelations-ID (derzeit nicht festgelegt).
    • Name der Edge Microgateway-Komponente.
    • Benutzerdefinierte Meldung: Einige Objekte geben möglicherweise zusätzliche Informationen aus, die an diese Fehlereigenschaft übergeben werden.
    • Anfragemethode (bei HTTP-Anfrage).
    • Statuscode der Antwort (bei HTTP-Anfrage).
    • Eine Nachricht zu einem Fehler.
    • Fehlercode: Wenn ein Objekt einen Fehlercode enthält, wird es in dieser Eigenschaft ausgegeben.
    • Benötigte Zeit.
    • Betriebssystem- Zeilenendemarkierung

    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 der Umgebung gefiltert. Dieses Problem wurde behoben. (135038879)
  • Verschiedene Integrationen von Funktionstests und Verbesserungen der Codequalität.

3.0.2

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

Codequalität: Der Code wurde auf seine Qualität überprüft und Änderungen am Code vorgenommen, um die von den Nutzern geforderten Qualitätsstandards zu erfüllen. Wir haben Fehler und Warnungen bei der Codequalität, die von JSHint abgeleitet wurden, behoben. Dadurch wurden einige tatsächliche Codefehler erkannt und behoben. Alle Apigee Edge Microgateway-Module wurden diesem Prozess unterzogen. 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, den 21. Juni 2019, haben wir 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 – Der Produktendpunkt für Edge Microgateway gibt 5XX zurück, wenn das Filtermuster falsch ist.
  • 135113408 – Worker sollten neu gestartet werden, wenn sie unerwartet beendet werden.
  • 134945852 – tokenCacheSize wird im OAuth-Plug-in nicht verwendet
  • 134947757 – CacheTTL im OAuth-Plug-in festlegen
  • 135445171 – 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 in Version 2.5.x

(Behoben am 2.5.38, 07.06.2019)

Falsch formatierte JWTs können zum Absturz von Workern führen, wenn der Token-Cache verwendet wird. Behoben im Edge-microgateway-plugins-Modul. (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 hinzugefügt.

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

Es wurde eine neue Edgemicro-auth/token API hinzugefügt, mit der Sie den Client/das Secret als Base64-codierten Basic Authorization-Header und den Grants_type als Formularparameter übergeben können. Weitere Informationen finden Sie unter Inhabertokens 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 richtig funktionierte (das Token wurde nicht respektiert).

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

(Hinzugefügt 2.5.29) 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) Edge Microgateway, das in einem Docker-Container ausgeführt wird, 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 (Anfragen nach Süden).

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

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

Docker: Unterstützung für Anfrage-Proxys

(Hinzugefügt: 2.5.27) 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 Plug-in-Anleitung

(Version 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 Option, die Verwendung eines Docker-Bereitstellungspunkts, ist neu. Die andere Option, die es zuvor gab, ist im Grunde unverändert. Das Dockerfile wurde jedoch aktualisiert. Weitere Informationen finden Sie unter den folgenden Links:

Neue Unterstützung von OAuth-Tokens für den Befehl zum KVM-Upgrade

(Version 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

(Version 2.5.26 hinzugefügt) Mit neuen Analytics-Plug-in-Flags können Sie einen bestimmten API-Pfad trennen, sodass er in den Edge Analytics-Dashboards als separater Proxy angezeigt wird. Sie können beispielsweise Systemdiagnose-APIs 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

(Hinzugefügt: 2.5.25) Sie können Edge Microgateway vollständig unabhängig von einer Apigee Edge-Abhängigkeit 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.

Schlüssel widerrufen

(Version 2.5.19 hinzugefügt) Ein neuer CLI-Befehl wurde 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 jetzt die neueste Edge Microgateway-Version als Docker-Image herunterladen:

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

Kubernetes-Unterstützung

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

Unterstützung für TCP-Nodelay-Option

(Version 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 vor dem Senden zu puffern. Wenn Sie nodelay auf true setzen, 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 das dauerhafte Monitoring

(Version 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 dauerhaften Hintergrundprozess entweder 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 einen dauerhaften Zugriff:

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

So beenden Sie die Option „Endgültig“:

edgemicro forever -a stop

JWT-Schlüsselrotation

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

Heruntergeladene API-Proxys filtern

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

Produkte ohne API-Proxys angeben

In Apigee Edge können Sie ein API-Produkt erstellen, das keine API-Proxys enthält. Durch diese Produktkonfiguration kann ein mit diesem Produkt verknüpfter API-Schlüssel mit jedem Proxy verwendet werden, der in Ihrer Organisation bereitgestellt wird. Ab Version 2.5.4 unterstützt Edge Microgateway diese Produktkonfiguration.

Unterstützung für dauerhafte Überwachung

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

Zentrale Verwaltung der Edge Micro-Konfigurationsdatei

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

Unterstützung der dauerhaften Befehlszeile

(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

Option „configUrl“ für Befehl zum erneuten Laden hinzugefügt

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

Kulanzzeitraum für Abweichungen bei der JWT-Zeit

(2.5.7 hinzugefügt) Ein gracePeriod-Attribut in der OAuth-Konfiguration hilft, Fehler zu vermeiden, die durch geringfügige Abweichungen zwischen Ihrer Systemuhr und den im JWT-Autorisierungstoken angegebenen Zeiten (nicht vor (nbf)) oder ausgegeben zu (iat) verursacht werden. Legen Sie für dieses Attribut die Anzahl der Sekunden fest, um solche Abweichungen zu berücksichtigen. Siehe OAuth-Attribute.

(2.5.7 hinzugefügt) Ein gracePeriod-Attribut in der OAuth-Konfiguration hilft, Fehler zu vermeiden, die durch geringfügige Abweichungen zwischen Ihrer Systemuhr und den im JWT-Autorisierungstoken angegebenen Zeiten (nicht vor (nbf)) oder ausgegeben zu (iat) verursacht werden. Legen Sie für dieses Attribut die Anzahl der Sekunden fest, um solche Abweichungen zu berücksichtigen. Siehe OAuth-Attribute.

Fehlerkorrekturen in Version 2.5.x

  • Problem Nr. 236: Tippfehler beim Leeren des Cache wurden behoben.
  • Problem Nr. 234: Abstürze bei Edge Microgateway 2.5.35 neu laden.
  • Problem 135: Bei Verwendung der Option -v wird ein Fehler über einen ungültigen Verweis auf den virtuellen Host "secure" angezeigt. Diese Fehlerkorrektur ändert den Edgemicro-auth-Proxy vor der Bereitstellung, um sicherzustellen, dass die virtuellen Hosts genau dem entsprechen, 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 den Standard- und sicheren Host 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 verworfene Kryptowährung zum Zeitpunkt der Installation. Dieses Problem wurde inzwischen behoben.
  • Problem 145: Kontingent funktioniert nicht mit Edge Microgateway. Dieses Problem wurde inzwischen behoben.
  • (Apigee-Community-Problem: https://community.apigee.com/questions/33149/emg-jwt-token-validd-against-non-api-proxies-a.html#answer-33336) JWT-Token wurde anhand von API-Proxys und Ressourcen-URIs in OAUTH validiert. Dieses Problem wurde behoben.
  • (Apigee-Community-Problem: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway funktioniert nicht mit OAuth. Dieses Problem wurde inzwischen behoben.
  • Probleme mit pidPath unter Windows wurden behoben.
  • Problem 157: Das Problem, das die folgende Fehlermeldung verursacht hat, wurde behoben: ReferenceError: deployProxyWithPassword ist nicht definiert.
  • Problem 169: Node.js-Abhängigkeiten aktualisieren (npm-Audit)
  • Der edgemicro-auth-Proxy verwendet jetzt die Edge-JWT-Richtlinien. Der Proxy ist nicht mehr von Node.js abhängig, um JWT-Unterstützung bereitzustellen.

Version 2.4.x

Neue Funktionen und Verbesserungen in Version 2.4.x

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

Sie können den Standardbasispfad für den edgemicro-auth-Proxy ändern. Standardmäßig ist der Basispfad /edgemicro-auth. Verwenden Sie zum Ändern das Flag -x im Befehl edgemicroconfigure.

Beispiel:

edgemicro configure -x /mypath …


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

Sie können einen oder mehrere „*“-Platzhalter im Basispfad eines edgemicro_*-Proxys verwenden. Der Basispfad /team/*/members ermöglicht es Clients beispielsweise, https://[host]/team/blue/members und https://[host]/team/green/members aufzurufen, 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 Konfiguration der Private Cloud hinzugefügt (PR 99)

Die Konfigurationsdatei des Microgateways 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 in der öffentlichen Cloud nicht mit Apigee Edge kommunizieren kann, gibt es zwei Möglichkeiten:

Option 1:

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

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

Wenn proxy_tunnel auf true gesetzt ist, verwendet Edge Microgateway die Methode HTTP CONNECT, um HTTP-Anfragen über eine einzelne TCP-Verbindung zu trafficken. Dasselbe 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 Konfigurationsdatei des Microgateways 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 welche Hosts keine Edge Microgateway-Proxys verarbeiten sollen: HTTP_PROXY, HTTPS_PROXY und NO_PROXY. Sie können NO_PROXY als durch Kommas getrennte Liste von Domains festlegen, zu denen Edge Microgateway keinen Proxy verwenden soll. Beispiel:

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

Weitere Informationen zu diesen Variablen finden Sie 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 eine Zeitüberschreitung 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 für die Zielantwort festgelegt wurden. In früheren Releases wurden vom Ziel gesendete Statusmeldungen mit Node.js-Standardeinstellungen überschrieben.

7. Der X-Forwarded-For-Header kann „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. Mit diesem Feature können Sie die IP-Adresse des Clients ermitteln, der eine Anfrage an Edge Microgateway gesendet hat.

8. Änderungen des OAuth-Plug-ins

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 Aufrechterhaltung der Abwärtskompatibilität).

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

  • allowOAuthOnly: Wenn dieser Wert auf true gesetzt ist, muss jede API einen Autorisierungsheader mit einem Inhaberzugriffstoken enthalten.

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

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

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

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

Der edgemicro-auth-Proxy 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 diese Variablen im Plug-in-Code: req.targetPort und req.targetSecure. Wenn Sie HTTPS auswählen möchten, setzen Sie req.targetSecure auf true und für HTTP auf false. Wenn Sie „req.targetSecure“ auf „true“ setzen, finden Sie in diesem Diskussionsthread weitere Informationen.

11. Anfängliche 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

  • Ein Problem wurde behoben, bei dem eine kostenpflichtige Organisation erforderlich war, um den Edgemicro-auth-Proxy ordnungsgemäß auszuführen. Jetzt können Sie Edge Microgateway auch mit Testorganisationen verwenden. (PR 5)
  • Ein Problem wurde behoben, durch das die Verarbeitung der Daten für den Stream nicht abgeschlossen war, aber End-Handler trotzdem ausgeführt wurden. Dadurch wurde eine Teilantwort gesendet. (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 ein abschließender Schrägstrich auf dem Proxy-Basispfad erforderlich war, damit die Überprüfung des API-Schlüssels ordnungsgemäß funktionierte. Jetzt ist am Ende des Basispfads kein nachstehender Schrägstrich erforderlich. (PR 48)

Version 2.3.5

Neue Funktionen und Verbesserungen in Version 2.3.5

Proxy-Filterung

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 Organisation heruntergeladen, der es zugeordnet ist. Verwenden Sie die folgende Konfiguration, um festzulegen, welche Proxys das Mikrogateway verarbeitet. Bei dieser Konfiguration sind die vom Mikrogateway verarbeiteten Proxys beispielsweise auf drei begrenzt: edgemicro_proxy-1, edgemicro_proxy-2 und edgemicro_proxy-3:

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

Datenmaskierung in Analytics

Mit einer neuen Konfiguration können Sie verhindern, dass Anfragepfadinformationen in Edge-Analysen 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 Pfad der Anfrage.

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

Version 2.3.3

Neue Funktionen und Verbesserungen in Version 2.3.3

Im Folgenden sind die neuen Funktionen und Verbesserungen für diese Version aufgeführt.

Automatische Änderungsabfrage deaktivieren

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

disabled_config_poll_interval: true

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

Ziel-URLs in Plug-ins neu schreiben

Sie können die Standard-Ziel-URL in einem Plug-in dynamisch überschreiben, indem Sie die folgenden Variablen im 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. Durch diese Ergänzung wird es Plug-ins leichter, auf die Zielantwort zuzugreifen.

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

Vereinfachte Standard-Logging-Ausgabe

Standardmäßig lässt der Logging-Dienst jetzt den JSON-Code heruntergeladener Proxys, Produkte und JWT aus. Sie können zur Standardausgabe dieser Objekte wechseln, indem Sie DEBUG=* beim Starten von Edge Microgateway festlegen. Beispiel:

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

Benutzerdefinierter Konfigurationspfad zur Befehlszeile hinzugefügt

Die Konfigurationsdatei des Microgateways befindet sich standardmäßig in der Datei ./config/config.yaml. Für die Befehle zum Starten, Konfigurieren und Starten können Sie jetzt einen benutzerdefinierten Konfigurationspfad in der Befehlszeile angeben. Beispiel:

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

Fehlerkorrekturen in Version 2.3.3

  • Ein Speicherleck wurde behoben, das bei umfangreichen Anfragen/Antworten aufgetreten ist.
  • Ausführungsreihenfolge des Plug-ins wurde korrigiert. Sie verhält sich jetzt so, wie in der Dokumentation erläutert.
  • Das Plug-in für Sammelanfragen bleibt für GET-Anfragen nicht mehr hängen.
  • Im Plug-in für Akkumulierungsantworten wurde ein Problem behoben, bei dem ein fehlender Antworttext zu Fehlern führte.

Version 2.3.1

Installationshinweis

In 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 in Version 2.3.1

Im Folgenden sind die neuen Funktionen und Verbesserungen für diese Version aufgeführt.

Proxys filtern

Mit einer neuen Konfiguration können Sie filtern, welche Proxys vom Edge Microgateway beim Start geladen werden. 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 filtern, sodass Edge Microgateway nur die von Ihnen angegebenen lädt. Fügen Sie der Microgateway-Konfigurationsdatei einfach das Proxy-Element hinzu:

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

Angenommen, Sie haben 50 edgemicro_*-Proxys in Ihrer Edge-Organisation/Umgebung, einschließlich solcher 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).

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

Der Schlüssel zu diesem Muster besteht darin, zuerst alle 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.

Im Folgenden sehen Sie einen Beispielcode für das Plug-in. Die in onend_request festgelegten Header werden an das Ziel gesendet:

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


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

  return {

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

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


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

  };

}

Wenn die Anfrage keine Daten enthält, können Sie Zielheader im Handler onrequest() 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 „Neu laden ohne Ausfallzeiten“

Nachdem Sie eine Konfigurationsänderung an Edge Microgateway vorgenommen haben, können Sie die Konfiguration laden, ohne Nachrichten zu verwerfen. 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 dem Verzeichnis ausführen, in dem der Edgemicro-Startbefehl ausgeführt wurde:

  • edgemicro status: Prüft, ob das Edge Microgateway ausgeführt wird.
  • edgemicro stop: Beendet 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. Beim Abfragen werden alle in Edge vorgenommenen Änderungen (Änderungen an Produkten, Microgateway-fähige Proxys usw.) sowie an der lokalen Konfigurationsdatei vorgenommene Änderungen erfasst. Das standardmäßige Abfrageintervall beträgt 600 Sekunden (5 Minuten). Sie können den Standardwert in der Microgateway-Konfigurationsdatei so ändern:

edgemicro:
    config_change_poll_interval: [seconds]

Der Befehlszeile wurden Versionsinformationen 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 sind die neuen Funktionen und Verbesserungen für diese Version aufgeführt.

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 sind die neuen Funktionen und Verbesserungen für diese Version aufgeführt.

Plattformübergreifenden Auth-Proxy bereitstellen

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

Version 2.1.0

Neue Funktionen und Verbesserungen in Version 21.0

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

SSL/TLS-Optionen für Clients angeben

Mit neuen 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

In 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 in 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 auch mithilfe der Umgebungsvariable PORT eine Portnummer angeben. Weitere Informationen finden Sie unter Startbefehl.

Authentifizierungsheader optional 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. Weitere Informationen finden Sie unter OAuth-Attribute.

Möglichkeit, einen benutzerdefinierten Autorisierungsdienst zu verwenden

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 v.2.0.4 wurde am 25. Mai 2016 veröffentlicht.

Neue Funktionen und Verbesserungen in Version 2.0.4

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

Unterstützung für Ressourcenpfade in Produkten

Edge Microgateway unterstützt jetzt Ressourcenpfade in Produkten. Mit Ressourcenpfaden können Sie den Zugriff auf APIs anhand des Proxypfadsuffixes 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 Edge Microgateway jetzt 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 in Version 2.0.0

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

Ein Prozessserver

Edge Microgateway ist jetzt ein einzelner Prozessserver. Es verwendet kein Modell mit zwei Prozessen mehr, bei dem ein Prozess (zuvor als „Agent“ bezeichnet) den zweiten Prozess Edge Microgateway startet. Die neue Architektur erleichtert Automatisierung und Containerisierung.

Namespaced-Konfigurationsdateien

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 in ~/.edgemicro, nachdem Sie den Konfigurationsbefehl von Edge Microgateway 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.

Im Cache gespeicherte Konfiguration

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. Im Clustermodus können Sie Mehrkernsysteme nutzen. Das Mikrogateway verwendet das Node.js-Clustermodul für diese Funktion. Weitere Informationen finden Sie in der Node.js-Dokumentation.

Fehlerkorrekturen in Version 2.0.0

Im Lebenszyklus des Plug-in-Ereignisses wird asynchroner Code, der Code mit einem neuen Callback enthält, jetzt korrekt verarbeitet.

Version 1.1.2

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

Neue Funktionen und Verbesserungen in 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äß für ein besseres Verbindungs-Pooling. Diese Verbesserung verbessert die Leistung und allgemeine Stabilitä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.

Neuer Speicherort der Konfigurationsdatei

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

Rotation der Protokolldatei

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 richtigen MGMT-Server.
Typskript-Abhängigkeiten werden vom Agent entfernt.
CLI-Fehler bei Verwendung der Lean-Bereitstellungsoption behoben.
Fehler bei der Abhängigkeitsreferenz für die Zertifikatlogik beheben.