Edge Microgateway-Versionshinweise

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Version 3.3.x

Fehlerkorrekturen und Verbesserungen in Version 3.3.x

3.3.5

Am Dienstag, den 24. Dezember 2024, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für das Edge-Microgateway veröffentlicht.

Komponentenversionen:

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

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

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
383024578 Funktion

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

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

Wenn Sie eine ältere Version von Node.js verwenden, wird diese Fehlermeldung angezeigt:

You are using a version of NodeJS that is not supported

Behobene Sicherheitsprobleme

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

Fehlerkorrekturen und Verbesserungen in Version 3.3.x

3.3.4

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

Komponentenversionen:

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

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

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
675987751 Bug (Fehler)

Ein Problem wurde behoben, bei dem das Edge-Microgateway keine Client-IP-Adressen protokollierte.

Behobene Sicherheitsprobleme

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

3.3.3

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

Komponentenversionen:

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

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

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
315939218 Entfernt

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

283947053 Entfernt

Der Support für forever-monitor wurde aus Edge Microgateway entfernt. Sie können forever-monitor durch PM2 ersetzen. Weitere Informationen finden Sie in diesem Beitrag der Apigee-Community: Edgemicro + PM2: edgemicro als Dienst starten.

Behobene Sicherheitsprobleme

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

3.3.2

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
296187679 Funktion

Zu den unterstützten Node.js-Versionen gehören 16, 18 und 20. Ab Version 3.3.2 funktionieren Befehle für die Edge Microgateway-Befehlszeile nur noch in den unterstützten Versionen. Das Ausführen von Befehlen der Befehlszeile auf nicht unterstützten 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, durch das das Edge Microgateway das erste API-Produkt in der Liste der API-Produkte zurückgab, die mit einer App verknüpft sind. Wir ermitteln jetzt anhand der Anfrage das richtige API-Produkt, das zurückgegeben werden soll.

274443329 Bug (Fehler)

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

Behobene Sicherheitsprobleme

Keine.

3.3.1

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
220885293 Funktion

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

231972608 Bug (Fehler)

Ein Problem wurde behoben, bei dem der Befehl private configure beim Konfigurieren für eine private Cloud einen Fehler verursachte.

233315475 Bug (Fehler)

Ein Problem wurde behoben, bei dem das json2xml-Plug-in beim Umwandeln der Antwort von JSON in XML einen Parsefehler auslöste, wenn es in Kombination mit dem accumulate-response-Plug-in verwendet wurde.

221432797 Ändern

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

215748732 Funktion

Der Befehl revokekeys unterstützt jetzt die SAML-Token-Authentifizierung.

Sie können jetzt mit der Option -t des Befehls revokekeys ein SAML-Token anstelle von Anmeldedaten in Form von Benutzername und Passwort übergeben.

Weitere Informationen finden Sie in der Befehlszeilenreferenz.

218723889 Doc-Update

Die Dokumentation wurde um einen Link zu den unterstützten Edge Microgateway-Plug-ins auf GitHub ergänzt. Weitere Informationen finden Sie unter Vorhandene Plug-ins, die mit Edge Microgateway gebündelt sind.

Behobene Sicherheitsprobleme

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

3.3.0

Am 4. Februar 2022 haben wir die folgenden Fehlerkorrekturen und Verbesserungen am Edge-Microgateway veröffentlicht.

Komponentenversionen:

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

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

Fehlerkorrekturen und Verbesserungen:

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

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

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

npm install apigeetool@0.15.1

Dieses Problem wird in einer zukünftigen Version des Edge Microgateways behoben.

138622990 Funktion

Mit dem neuen Flag isHTTPStatusTooManyRequestEnabled für das Kontingent-Plug-in wird das Plug-in so konfiguriert, dass bei einem Kontingentverstoß der HTTP-Antwortstatus 429 statt 403 zurückgegeben wird. Weitere Informationen finden Sie unter Konfigurationsoptionen für das Kontingent.

192534424 Bug (Fehler)

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

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

Die Dokumentation wurde um eine Erklärung zum Konfigurieren von TLS/SSL für mehrere Ziele ergänzt. Weitere Informationen finden Sie unter SSL/TLS-Optionen für Clients verwenden.

171538483 Bug (Fehler)

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

157908466 Bug (Fehler)

Die Dokumentation wurde geändert, um die korrekte Installation einer bestimmten Version von Edge Microgateway zu beschreiben. Weitere Informationen finden Sie unter Edge Microgateway aktualisieren, wenn eine Internetverbindung besteht.

215748427 Bug (Fehler) Ein Problem wurde behoben, bei dem der Befehl „revokekeys“ beim Widerrufen eines Schlüssels mit einem vorhandenen Schlüssel- und Geheimschlüsselpaar einen Fehler zurückgab.
205524197 Bug (Fehler) Die Dokumentation wurde aktualisiert und enthält jetzt eine vollständige Liste der Protokollebenen. Weitere Informationen finden Sie unter edgemicro-Attribute und Lobenebene festlegen.

Version 3.2.x

Fehlerkorrekturen und Verbesserungen in Version 3.2.x

3.2.3

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
192416584 Funktion

Mit dem Konfigurationsattribut disableStrictLogFile können Sie die strengen Dateiberechtigungen für die Anwendungsprotokolldatei api-log.log lockern. Weitere Informationen finden Sie unter Berechtigungen für Protokolldateien 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 geschlossen wird. Weitere Informationen finden Sie unter edgemicro-Attribute.

148062415 Bug (Fehler) Ein Problem wurde behoben, bei dem das Edge-Microgateway in einem Docker-Containerkontext nicht ordnungsgemäß mit dem Befehl docker stop {containerId} heruntergefahren wurde. Der Prozess wurde beendet, aber die Dateien .sock und .pid wurden nicht entfernt. Jetzt werden die Dateien entfernt und der Neustart desselben Containers funktioniert wie erwartet.
190715670 Bug (Fehler) Ein Problem wurde behoben, bei dem einige Anfragen während der internen Neuladeaktivität des Microgateways hängengeblieben sind. Dieses Problem trat sporadisch auf und bei hoher Auslastung. Das Problem trat auf, wenn die tokenCache- und cacheKey-Funktionen 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 beispielsweise die Pfade /country/all und /country/all/ als derselbe Pfad interpretiert.

Behobene Sicherheitsprobleme

Problem-ID Beschreibung
CVE-2020-28503 Die Paket-Copy-Props vor Version 2.0.5 sind über die Hauptfunktion anfällig für Prototype Pollution.
CVE-2021-23343 Alle Versionen des Paketpfad-Parsings sind anfällig für einen Dienstausfall durch reguläre Ausdrücke (ReDoS) über die regulären Ausdrücke „splitDeviceRe“, „splitTailRe“ und „splitPathRe“. ReDoS hat im Worst-Case eine polynome Zeitkomplexität.

3.2.2

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
185323500 Ändern

Wert von expires_in von String in Ganzzahl geändert

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

Gemäß RFC 6749 „The OAuth 2.0 Authorization Framework“ wurde der erwartete Wert für den Konfigurationsparameter expires_in von „String“ in „Integer“ geändert. Weitere Informationen finden Sie in der Referenz zu Betrieb und Konfiguration.

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

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

183990345 Funktion Protokollausgabe für Docker-Container konfigurieren

Mit dem Edge Microgateway-Konfigurationsparameter to_console können Sie Protokollinformationen an die Standardausgabe statt an eine Protokolldatei senden. Wenn Sie die Schritte zum Ausführen des Edge Microgateways in einem Docker-Container ausführen, werden standardmäßig stdout und die Fehlerausgabe an eine Datei im Container unter ${APIGEE_ROOT}/logs/edgemicro.log umgeleitet.

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 Variablen finden Sie unter Docker für Edge Microgateway verwenden.

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

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

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

Behobene Sicherheitsprobleme

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

3.2.1

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Fehlerkorrekturen und Verbesserungen:

Problem-ID Typ Beschreibung
180362102 Bug (Fehler) Ein Problem wurde behoben, durch das Anwendungen mit JWK-Schlüsseln mit einem Nullwert fehlgeschlagen sind.

Die Nullbedingung wird jetzt so behandelt, dass kein Nullwert an jwkPublicKeys übergeben wird.

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

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

Für Edge Microgateway-Transaktionen wurden im Apigee Edge-Dashboard für die Fehlercodeanalyse falsche Zielfehlerzahlen angezeigt. Fehlercodes für Zielfehler wurden als Proxy-Fehler gezählt. Dieses Problem wurde behoben und die korrekten Fehlerzahlen für das Targeting werden jetzt angezeigt.

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

API-Produkte haben drei Statuscodes: „Ausstehend“, „Genehmigt“ und „Widerrufen“. Der Richtlinie JWT-Variablen festlegen im Proxy edgemicro-auth wurde das neue Attribut allowProductStatus hinzugefügt. So verwenden Sie diese Eigenschaft, um im JWT aufgeführte API-Produkte zu filtern:

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

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

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

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

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

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

Es wurde ein Problem gemeldet, bei dem der Schlüssel und die geheimen Werte des Edge-Microgateways, die entweder über Befehlszeilenargumente übergeben oder über Umgebungsvariablen festgelegt wurden, nach dem Starten des Microgateways in den Argumenten der Knoten-Arbeits-/untergeordneten Prozesse angezeigt wurden.

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

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

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

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

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

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

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

Beispiel:

edgemicro:
 enable_GET_req_body: true

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

3.2.0

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

Komponentenversionen:

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

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

Fehlerkorrekturen und Verbesserungen:

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

Ein Problem wurde behoben, bei dem der /token-Endpunkt im edgemicro-auth-Proxy expires_in in Millisekunden zurückgab. Gemäß der OAuth-Spezifikation sollte er jedoch der Zeiteinheit für refresh_token_expires_in entsprechen, also Sekunden.

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

Wenn Clients den Wert expires_in in Millisekunden verwendet haben, um Tokens vor Ablauf zu aktualisieren, würde die Anwendung dieser Fehlerbehebung ohne Änderung der Clients zu viel häufigeren und unnötigen Aktualisierungen führen. Diese Clients müssen entsprechend der Änderung der Zeiteinheit angepasst werden, damit das ursprüngliche Verhalten beibehalten wird.

Wenn Clients immer die Werte im JWT-Token verwendet haben, um den Aktualisierungszeitraum des Tokens zu bestimmen, müssen sie nicht geändert werden.

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

Dieses Problem tritt sporadisch bei Anfragen mit großer Nutzlastgröße auf und wurde im Release 3.1.7 eingeführt.

174640712 Bug (Fehler) Fügen Sie Plug-ins eine ordnungsgemäße Datenverarbeitung hinzu.

Die folgenden Plug-ins wurden um eine ordnungsgemäße Datenverarbeitung ergänzt: json2xml, accumulate-request, accumulate-response und header-uppercase. Weitere Informationen zu Plug-ins finden Sie unter Microgateway-Plug-ins.

Version 3.1.x

Fehlerkorrekturen und Verbesserungen in Version 3.1.x

3.1.8

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Fehlerkorrekturen und Verbesserungen:

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

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

169202749 Bug (Fehler) Der Ersatz von Umgebungsvariablen funktionierte in einigen Fällen nicht.

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

168732942 Bug (Fehler) Ein Problem wurde behoben, bei dem OAuth-Bereiche den API-Proxy-Zugriff nicht wie erwartet einschränkten.

Der /token-Vorgang im edgemicro-auth-Proxy generierte JWTs ohne die korrekten Produktbereiche, die auf Edge definiert sind. Das kann zwei Ursachen haben: 1) Die Anfragen-Nutzlast an den /token-Vorgang hat keinen Bereichsparameter übergeben oder 2) in der Anfragen-Nutzlast an den /token-Vorgang wurde ein ungültiger Bereich übergeben. Es wurde eine Korrektur vorgenommen, damit alle in API-Produkten in Apigee Edge definierten Bereiche zurückgegeben werden.

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

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

Die API-Produktbereiche wurden weder für benutzerdefinierte Plug-ins verfügbar gemacht noch in die Cache-Konfigurationsdatei geschrieben. Weitere Informationen dazu, wie Details zum Gültigkeitsbereich für Plug-ins zugänglich gemacht werden, findest du unter Die Funktion „init()“ des Plug-ins.

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

Der Schlüssel und das Secret des Edge-Microgateways wurden bei jedem Neustart oder Aktualisieren in der Cache-Konfigurations-YAML-Datei gespeichert. In 3.1.8 werden Schlüssel und Secret nicht mehr in der Cache-Konfigurationsdatei gespeichert. Wenn der Schlüssel und das Secret zuvor in die Cache-Konfigurationsdatei geschrieben wurden, werden sie entfernt.

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

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

159571119 Bug (Fehler) In benutzerdefinierten Plug-ins wird im onerror_request-Hook ein Nullfehler für das Zeitlimit für Antwort/Socket ausgegeben.

Es wurden Fehler behoben, durch die der richtige HTTP-Statuscode und die richtige Fehlermeldung für onerror_request-Ereignisse und die richtige Fehlermeldung für onerror_response-Ereignisse nicht eingefügt wurden.

3.1.7

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Fehlerkorrekturen und Verbesserungen:

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

133162200 Bug (Fehler) Die Informationen zur Entwickler-App wurden nicht in Analytics erfasst. Dies ist auf Status 403-Antworten zurückzuführen, die durch nicht autorisierte Produktressourcenpfade oder auf Status 401-Antworten, die durch ein abgelaufenes oder ungültiges Token verursacht wurden.

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

158618994 Bug (Fehler) Zu viele Redis-Clientverbindungen

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

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

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

168681746 Bug (Fehler) Das manuelle Neuladen des Edge Microgateways mit redisBasedConfigCache:true funktionierte nicht.

149256174 Bug (Fehler) OAuth-Plug-in-Fehler wurden bei Netzwerkausfällen nicht protokolliert.

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

141659881 Bug (Fehler) Bei der Fehlerbehandlung für ungültige Zielzertifikate wurden irreführende Fehlerantworten ausgegeben.

142808699 Bug (Fehler) Das accesscontrol-Plug-in verarbeitete die Abschnitte „allow“ und „deny“ nicht richtig.

Das Microgateway verarbeitet den Abschnitt „deny“ jetzt ordnungsgemäß und beachtet die Reihenfolge der Abschnitte „allow“ und „deny“. Der Microgateway-Konfigurationsdatei wurde das neue noRuleMatchAction-Attribut hinzugefügt, um für Übereinstimmung mit der Apigee Edge-Richtlinie für die Zugriffssteuerung zu sorgen. Weitere Informationen finden Sie auch in der README-Datei des Zugriffssteuerungs-Plug-ins auf GitHub.

3.1.6

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Fehlerkorrekturen und Verbesserungen:

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

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

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

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 Plugin-Messwerte auf GitHub.

159396879 Bug (Fehler) Nicht verwendetes Paket-Hilfsprogramm entfernen
161092943 Bug (Fehler) Die Validierung des Basispfads war falsch.

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

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

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

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

Die Apigee Edge-Konfiguration wird im Konfigurationsobjekt für alle benutzerdefinierten Plug-ins verfügbar gemacht, nachdem sie mit der Edge Microgateway-Konfigurationsdatei zusammengeführt wurde. Siehe config.

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

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

3.1.5

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Fehlerkorrekturen und Verbesserungen:

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

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

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

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

156560067, 159688634 Funktion

Umgebungsvariablenwerte in der Konfiguration verwenden

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

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

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

153673257 Bug (Fehler)

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

Ein Problem wurde behoben, bei dem Microgateway-kompatible Produkte nicht abgerufen wurden. Dieses Problem trat nur bei Edge for Private Cloud-Installationen auf.

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

Weitere Informationen finden Sie unter Produkte nach benutzerdefinierten Attributen filtern.

153949764 Bug (Fehler) Das Problem, dass der Edge Microgateway-Prozess abstürzte, wenn die Protokolldatei voll war, wurde behoben.

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

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

Siehe auch JWT-Schlüssel rotieren.

3.1.4

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

Fehlerkorrektur:

Ein Abhängigkeitsproblem in Version 3.1.3 wurde behoben. Version 3.1.3 wurde im npm-Repository als veraltet gekennzeichnet. Alle in den Versionshinweisen für Version 3.1.3 beschriebenen Fehlerkorrekturen und Verbesserungen gelten auch für diesen Release.

3.1.3

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 153509313 – Ein Problem wurde behoben, bei dem das Node.js-Debugmodul zu Speicherlecks führte. Das Problem tritt in den Versionen 3.1.0, 3.1.1 und 3.1.2 auf.
  • 153509313 – Ein Problem wurde behoben, bei dem in der Protokollausgabe dieselbe Nachrichten-ID für zwei unterschiedliche Transaktionen ausgegeben wurde.
  • 151673570: Ein Problem wurde behoben, bei dem das Edge Microgateway nicht für die Verwendung der neuen 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 das Edge Microgateway aktualisiert, damit die Verarbeitung der Ressourcenpfadzuordnung mit der von Apigee Edge übereinstimmt. In dieser Version wurde ein Problem behoben, bei dem das Muster /literal_string/* nicht richtig verarbeitet wurde. Beispiel: /*/2/*. Weitere Informationen finden Sie unter Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren.
  • 152005003 – Es wurden Änderungen vorgenommen, um Kontingente auf Organisations- und Umgebungsebene zu ermöglichen.
  • 152005003 – Es wurden Änderungen vorgenommen, um Kontingente auf Organisations- und Umgebungsebene zu ermöglichen. Die Kombination aus „org + env + appName + productName“ wird als Kontingent-ID verwendet.

3.1.2

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 151285018 – Es wurde eine Funktion zur Unterstützung von HTTP-Proxys für Traffic zwischen Edge-Microgateway und Backend-Zielen hinzugefügt. Außerdem wurden Probleme mit der vorhandenen HTTP-Proxy-Unterstützung zwischen Edge Microgateway und Apigee Edge behoben. Weitere Informationen:
  • 149101890 – Der Code der Protokollbenachrichtigung für Fälle, in denen der Zielserver oder Load Balancer die Verbindung schließt, wurde von „ERROR“ zu „INFO“ geändert.
  • 150746985 – Ein Problem wurde behoben, durch das der Befehl edgemicro verify nicht richtig funktionierte, wenn entweder redisBasedConfigCache: true oder quotaUri: https://%s-%s.apigee.net/edgemicro-auth in der Konfigurationsdatei vorhanden war.
  • 151284716 – Die Serververbindungen werden jetzt schneller geschlossen, wenn Worker während eines Reloads neu gestartet werden.
  • 151588764 – Node.js-Version im Docker-Image, das zum Ausführen des Edge-Microgateways in einem Docker-Container verwendet wird, auf Version 12 aktualisieren, da Node.js 8 eingestellt wird.
  • 151306049 – Die Dokumentation wurde aktualisiert und enthält jetzt die Apigee Edge-Verwaltungs-APIs, die von Edge Microgateway-Befehlen in der Befehlszeile verwendet werden. Weitere Informationen finden Sie unter Welche Verwaltungs-APIs werden von Edge Microgateway verwendet?

3.1.1

Am Donnerstag, den 20. Februar, haben wir die folgenden Fehlerkorrekturen und Verbesserungen am Edge-Microgateway veröffentlicht.

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 146069701 – Ein Problem wurde behoben, bei dem die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY vom microgateway-core-Modul nicht berücksichtigt wurden. Durch diese Änderung werden Proxy-Einstellungen in der YAML-Konfigurationsdatei, sofern angegeben, jetzt ignoriert. Nur die Umgebungsvariablen werden zum Angeben des Proxys verwendet.

    Wenn Sie die Proxykonfiguration in der Konfigurationsdatei angeben möchten, müssen Sie auch eine HTTP_PROXY-Variable angeben, die dieselbe Proxy-URL wie in der Konfigurationsdatei enthält. 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. Mit diesem Attribut wird die Zeit (in Millisekunden) begrenzt, die der HTTP-Parser wartet, bis er die vollständigen HTTP-Header empfängt. Beispiel:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

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

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

    Wenn Sie die TargetEndpoint-Eigenschaft io.timeout.millis im API-Proxy festlegen, kann das Edge Microgateway diese Eigenschaft abrufen und zielendpunktspezifische Zeitlimits anwenden. Wenn dieser Parameter nicht angewendet wird, verwendet das Edge Microgateway das mit edgemicro.request_timeout angegebene globale Zeitlimit.

3.1.0

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Fehlerkorrekturen und Verbesserungen:

  • 144187500 – Wenn das Flag quotas.failOpen ausgelöst wird, wird ein neues Ereignis der Warnungsebene protokolliert. Dieses Flag wird ausgelöst, wenn ein Fehler bei der Kontingentverarbeitung auftritt oder die Anfrage „quota apply“ an Edge die Remote-Kontingentzähler nicht aktualisiert. In diesem Fall wird das Kontingent nur anhand der lokalen Zählungen verarbeitet, bis die nächste erfolgreiche Remote-Kontingentsynchronisierung erfolgt. Bisher wurde dieses Ereignis nur protokolliert, wenn die Protokollebene auf „DEBUG“ gesetzt war.

    Beispiel:

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

      Durch diese Änderung folgt das Edge Microgateway-Plug-in jetzt demselben Musterabgleich wie Apigee Edge. Weitere Informationen finden Sie unter Verhalten eines Ressourcenpfads von '/', '/*' und '/**' konfigurieren.

    • 145644205 – Logik für das Musterabgleich des apiKeys-Plug-ins an das oauth-Plug-in anpassen
  • 143488312: Ein Problem wurde behoben, bei dem führende oder abschließende Leerzeichen im Client-ID-Parameter dazu führten, dass die JWT-Produktliste für OAuth-Token- und API-Schlüsselanfragen leer war.
  • 145640807 und 147579179: Es wurde eine neue Funktion hinzugefügt, mit der eine spezielle Edge Microgateway-Instanz namens „Synchronisierer“ Konfigurationsdaten aus Apigee Edge abrufen und in eine lokale Redis-Datenbank schreiben kann. Andere Microgateway-Instanzen können dann so konfiguriert werden, dass sie ihre Konfigurationsdaten aus der Datenbank lesen. Diese Funktion erhöht die Resilienz von Edge Microgateway. So können Microgateway-Instanzen gestartet und ausgeführt werden, ohne mit Apigee Edge kommunizieren zu müssen. Weitere Informationen finden Sie unter Synchronizer verwenden.

    Die Synchronisierungsfunktion wird derzeit mit Redis 5.0.x unterstützt.

Version 3.0.x

Fehlerkorrekturen und Verbesserungen in Version 3.0.x

3.0.10

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Fehlerkorrekturen und Verbesserungen:

  • 142677575: Es wurde eine Funktion aktualisiert, damit das Musterabgleich für Ressourcenpfade, die in API-Produkten für Edge Microgateway verwendet werden, jetzt mit dem Musterabgleich für Ressourcenpfade übereinstimmt, der von Apigee Edge verwendet wird. Weitere Informationen finden Sie unter Verhalten eines Ressourcenpfads vom Typ „/“, „/*“ und „/**“ konfigurieren.

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

    alt_text

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

  • 143740696 – Die quotas-Konfigurationsstruktur hat sich geändert (siehe auch die Versionshinweise für Version 3.0.9). Mit der Property quotas wird das Kontingent-Plug-in konfiguriert. Die Änderung der Struktur soll die Übersichtlichkeit der Konfigurationselemente verbessern. Verwenden Sie die folgende YAML-Konfiguration, um das Kontingents-Plug-in zu konfigurieren. Die Konfigurationseigenschaft heißt quotas. Weitere Informationen zu den einzelnen quotas-Konfigurationseigenschaften finden Sie unter Konfigurationsoptionen für das Kontingent.

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

3.0.9

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Fehlerkorrekturen und Verbesserungen:

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

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

    quotas :
     failOpen : true

    Hinweis: Außerdem wurde der Name des fail-open-Anfrageobjekt-Flags des OAuth-Plug-ins in oauth-failed-open geändert.

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

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

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

3.0.8

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Fehlerkorrekturen und Verbesserungen:

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

    Mit der Funktion können Sie einen Kulanzzeitraum festlegen, in dem das alte Token im Cache verbleibt und bis zum Ablauf des Kulanzzeitraums wiederverwendet wird. Mit dieser Funktion kann das Edge Microgateway bei einem vorübergehenden Verbindungsfehler die Verarbeitung von Anfragen fortsetzen. Wenn die Verbindung wiederhergestellt wird und ein erfolgreicher Aufruf von „Verify API Key“ erfolgt, wird ein neues JWT abgerufen und ersetzt das alte JWT im Cache.

    So konfigurieren Sie die neue Funktion „Fail-Open“:

    1. Legen Sie in der Konfigurationsdatei des Edge-Microgateways in der Strophe oauth die folgenden Eigenschaften 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 ein Update durchgeführt, um die correlation_id in die gesamte Plug-in-Logausgabe aufzunehmen. Außerdem wurden die Logabenen für einige Protokolle nach Bedarf in error geändert.
  • 140193349 – Der edgemicro-auth-Proxy wurde aktualisiert, sodass der Schlüssel und das Geheimnis des Edge-Microgateways bei jeder Anfrage zum Verifizieren des API-Schlüssels überprüft werden müssen. Das Edge Microgateway wurde aktualisiert, sodass bei jeder Anfrage zum Prüfen des API-Schlüssels immer der Schlüssel und das Geheimnis gesendet werden. Durch diese Änderung können Clients kein JWT mehr nur mit einem API-Schlüssel abrufen.
  • 140090250 – Es wurde ein Update durchgeführt, um Diagnoseprotokolle für die Kontingentverarbeitung hinzuzufügen. Durch diese Änderung ist es jetzt möglich, die Ausgabe des Zitatprotokolls mit den übrigen Edge Microgateway-Protokollen in Beziehung zu setzen.

3.0.7

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

Komponentenversionen:

In der folgenden Tabelle sind die Versionsnummern der 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 core config Plug-ins edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

Fehlerkorrekturen und Verbesserungen:

  • 140075602: Das OAuth-Plug-in wurde aktualisiert, damit bei Bedarf ein Statuscode 5xx zurückgegeben wird. Bisher gab das Plug-in nur 4xx-Statuscodes zurück, wenn der Statuscode nicht 200 war. Bei jeder Nachrichtenantwort, die nicht den Status 200 hat, wird jetzt je nach Fehler der genaue 4xx- oder 5xx-Code zurückgegeben.

    Diese Funktion ist standardmäßig deaktiviert. Wenn Sie diese Funktion aktivieren möchten, fügen Sie der Edge Microgateway-Konfiguration die Eigenschaft oauth.useUpstreamResponse: true hinzu. 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 diese Konfigurationseigenschaft fest, wenn Sie Kontingente über den edgemicro-auth-Proxy verwalten möchten, der in Ihrer Organisation bereitgestellt wird. Wenn diese Property nicht festgelegt ist, wird standardmäßig der interne Edge Microgateway-Endpunkt als Kontingentendpunkt verwendet. Beispiel:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

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

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

    wurde in Version 3.0.6 falsch dokumentiert. Der richtige Property-Name lautet:

    edgemicro:
        keep_alive_timeout
  • 139526406 – Ein Fehler wurde behoben, bei dem bei einer Entwickler-App mit mehreren Produkten eine falsche Kontingentanzahl angezeigt wurde. 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, haben wir die folgenden Fehlerkorrekturen und Verbesserungen für das Edge-Microgateway veröffentlicht.

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

    Beispiel:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 – Das neue Konfigurationsattribut quotaUri wurde hinzugefügt. Legen Sie dieses Konfigurationsattribut fest, wenn Sie Kontingente über den edgemicro-auth-Proxy verwalten möchten, der in Ihrer Organisation bereitgestellt wird. Wenn diese Eigenschaft 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
    

    Wenn Sie diese Funktion verwenden möchten, müssen Sie zuerst die neueste Version des edgemicro-auth-Proxys in Ihrer Organisation bereitstellen. Weitere Informationen finden Sie unter Edgemicro-Auth-Proxy aktualisieren.

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

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

3.0.5

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

Behobene Fehler
  • 139005279 – Ein Problem wurde behoben, durch das der Befehl edgemicro status nicht die richtige Anzahl von Worker-Prozessen zurückgab.
  • 138437710 – Ein Problem in der ExitCounter-Klasse wurde behoben, das verhinderte, dass das richtige Protokoll geschrieben wurde.
Allgemeine Verbesserungen bei Protokollmeldungen
  • 139064652 – Es ist jetzt möglich, die Protokollierungsebenen trace und debug für Ereignis- und Systemprotokolle hinzuzufügen. Derzeit ist nur die Möglichkeit hinzugefügt worden, diese Protokollebenen hinzuzufügen. Derzeit sind die Lobenen info, warn und error verfügbar.
  • 139064616 – Die Protokollausgabe wurde für alle Konsolenprotokollanweisungen standardisiert. Konsolen-Logging-Anweisungen enthalten jetzt die folgenden Attribute:
    • Zeitstempel
    • Komponentenname
    • Prozess-ID
    • Konsolenprotokollmeldung
Verbesserungen bei JWT-Schlüssel- und Secret-Logmeldungen
  • 138413755 – Verbesserung der JWT-Schlüssel- und geheimnisbezogenen Protokollmeldungen für die folgenden Befehle der Befehlszeile: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey und configure.
Verbesserungen bei Zeitüberschreitungen und Fehlermeldungen zur Verbindungsverweigerung
  • 138413577 – Fehlerbehandlung für Zeitüberschreitungen von Back-End-Diensten hinzufügen und verbessern
  • 138413303 – Fehlerbehandlung für Antwort- und Socket-Zeitüberschreitungen hinzufügen und verbessern
  • 138414116 – Fehlerbehandlung für den Fehler „Verbindung verweigert“ hinzufügen und verbessern

3.0.4

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

  • 134445926 – Verbesserungen bei der internen Edge Microgateway-Authentifizierung.
  • 137582169 – Es wurde ein Problem behoben, durch das unerwünschte Prozesse gestartet wurden. Die zusätzlichen Prozesse führten dazu, dass Plugins neu geladen wurden und zu viel Arbeitsspeicher verbraucht wurde. Das Edge-Microgateway hält die Anzahl der Prozesse jetzt innerhalb des erwarteten Limits.
  • 137768774 – Verbesserungen bei Protokollmeldungen:
    • Transaktionsprotokolle (Anfrageprotokolle) wurden bereinigt.
    • Es wurden bei Bedarf weitere Protokollmeldungen hinzugefügt.
    • Transaktions- (Anfrage-)Logmeldungen wurden aus der Konsolenausgabe in die entsprechende Protokolldatei verschoben.
    • Konsolenprotokolle wurden aktualisiert, um eine zentrale Logging-Funktion zu verwenden.
  • 138321133, 138320563: Grundlegende interne Änderung am Kontingentpuffer, um zukünftige Kontingentverbesserungen zu ermöglichen.

3.0.3

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

  • Verbesserungen bei der Protokollierung: Für vorhandene Laufzeitprotokolle wird die neue Funktion eventLog() verwendet, mit der Laufzeitdaten in einem einheitlichen Format erfasst und protokolliert werden. Zu den Protokollinformationen gehören:
    • Zeitstempel (ISO 8601: JJJJ-MM-TTTHH:mm:ss.sssZ)
    • Protokollebene (Fehler, Warnung oder Information)
    • Hostname: Der Hostname des Anfragenden aus dem Anfrageheader.
    • Prozess-ID: Wenn Sie einen Cluster von Node.js-Prozessen ausführen, ist dies die ID des Prozesses, in dem die Protokollierung stattgefunden hat.
    • Name der Apigee-Organisation.
    • Name der Umgebung in der Organisation.
    • Name des API-Proxys.
    • IP-Adresse des Clients.
    • ClientId.
    • Korrelations-ID (derzeit nicht festgelegt)
    • Name der Edge Microgateway-Komponente.
    • Benutzerdefinierte Nachricht: Bei einigen Objekten werden möglicherweise zusätzliche Informationen ausgegeben, die an diese Fehlereigenschaft übergeben werden.
    • Anfragemethode (bei HTTP-Anfrage)
    • Antwortstatuscode (bei HTTP-Anfrage)
    • Fehlermeldung
    • Fehlercode: Wenn ein Objekt einen Fehlercode enthält, wird dieser in dieser Property ausgegeben.
    • Benötigte Zeit
    • Markierung für das Ende der Zeile des Betriebssystems

    Nullwerte für Properties führen zu leeren Klammern, [].

    Das folgende Beispiel zeigt das Logformat:

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

    (137770055)

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

3.0.2

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

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

3.0.1

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

  • 134834551 – Unterstützte Node.js-Versionen für das Edge-Microgateway ändern
    (Unterstützte Node.js-Versionen: 8 und 12; Versionen 7, 9 und 11 sind experimentell)
  • 134751883 – Edge Microgateway stürzt beim Neuladen unter Last ab
  • 134518428 - Products endpoint for Edge Microgateway returns 5XX if filter pattern is incorrect
  • 135113408 - Workers should restart if they terminate unexpectedly
  • 134945852 - tokenCacheSize wird im OAuth-Plug-in nicht verwendet
  • 134947757 – cacheTTL im OAuth-Plug-in festlegen
  • 135445171 - gracePeriod calculation in OAuth is not correct
  • Mit dem in der Edge Microgateway-Installation bereitgestellten Memorized-Modul
  • 135367906 – Sicherheitsaudit

Version 2.5.x

Neue Funktionen und Verbesserungen in Version 2.5.x

(Behoben in 2.5.38, 06.07.2019)

Falsch formatierte JWTs können bei Verwendung des Token-Caches zu Abstürzen von Workern führen. Im Modul „Edge Microgateway-Plug-ins“ behoben. (b/134672029)

(2.5.37 hinzugefügt) Die Befehlszeilenoption edgemicro-cert -t wurde hinzugefügt.

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

(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. Siehe auch Aufgaben der Kubernetes-Integration.

(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/Secret als Base64-codierten Base-Autorisierungsheader und den grant_type als Formularparameter übergeben können. Weitere Informationen finden Sie unter Inhabertoken direkt abrufen.

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

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

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

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

Docker: Unterstützung für TLS

(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 (Northbound-Anfragen) und für ausgehende Anfragen vom Edge Microgateway an eine Zielanwendung (Southbound-Anfragen).

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

In diesen Beispielen wird gezeigt, wie Sie die Zertifikate über den Container-Anschlusspunkt /opt/apigee/.edgemicro laden, auf die dann in der Edge Microgateway-Konfigurationsdatei verwiesen wird.

Docker: Unterstützung für Proxying von Anfragen

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

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

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

Docker: Aktualisierte Anleitung für Plug-ins

(2.5.27 hinzugefügt) Wenn Sie Edge Microgateway in einem Docker-Container ausführen, haben Sie jetzt zwei Möglichkeiten, Plugins bereitzustellen. Eine Option, die Verwendung eines Docker-Anschlusspunkts, ist neu. Die andere Option gab es schon vorher und ist im Grunde unverändert. Das Dockerfile wurde jedoch aktualisiert. Weitere Informationen finden Sie unter den folgenden Links:

Neue OAuth-Token-Unterstützung für den KVM-Upgrade-Befehl

(2.5.27 hinzugefügt) Du kannst ein OAuth-Token mit dem Befehl upgradekvm verwenden. Weitere Informationen finden Sie unter KVM aktualisieren.

APIs in Edge Analytics segmentieren

(2.5.26 hinzugefügt) Mit neuen Flags für Analyse-Plug-ins können Sie einen bestimmten API-Pfad so trennen, dass er in den Edge Analytics-Dashboards als separater Proxy angezeigt wird. Sie können beispielsweise APIs für die Systemdiagnose 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 keinen Microgateway-fähigen Proxy manuell in Apigee Edge erstellen. Stattdessen verwendet das Microgateway den Basispfad des lokalen Proxys. Weitere Informationen finden Sie unter Lokalen Proxy-Modus verwenden.

Eigenständigen Modus verwenden

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

Schlüssel widerrufen

(2.5.19 hinzugefügt) Es wurde ein neuer Befehl für die Befehlszeile hinzugefügt, mit dem die Anmeldedaten für Schlüssel und Secrets für eine Edge Microgateway-Konfiguration widerrufen werden.

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

Docker-Unterstützung

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

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

Kubernetes-Unterstützung

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

Unterstützung der TCP-Option „nodelay“

(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 festlegen, wird dieses Verhalten deaktiviert. Die Daten werden dann jedes Mal sofort gesendet, wenn socket.write() aufgerufen wird. Weitere Informationen finden Sie auch in der Node.js-Dokumentation.

Wenn du nodelay aktivieren möchtest, bearbeite die Edge Micro-Konfigurationsdatei so:

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

Neue Befehlszeilenoptionen für die fortlaufende Überwachung

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

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

Beispiele:

So starten Sie Forever:

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

So beenden Sie „Forever“:

edgemicro forever -a stop

JWT-Schlüsselrotation

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

Heruntergeladene API-Proxys filtern

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

Produkte ohne API-Proxys angeben

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

Unterstützung für fortlaufendes Monitoring

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

Zentrale Verwaltung der Edge Micro-Konfigurationsdatei

Wenn Sie mehrere Edge Microgateway-Instanzen ausführen, können Sie ihre Konfigurationen an einem zentralen Ort verwalten. Dazu geben Sie einen HTTP-Endpunkt an, von dem Edge Micro seine Konfigurationsdatei herunterladen kann. Weitere Informationen finden Sie unter Endpunkt in einer Konfigurationsdatei angeben.

Unterstützung für die Befehlszeilenoption „forever“

(2.5.8 hinzugefügt) Mit dem Befehl edgemicro forever [package.json] können Sie den Speicherort der forever.json-Datei angeben. Vor der Einführung dieses Befehls musste sich die Konfigurationsdatei im Stammverzeichnis von Edge Microgateway befinden.

Beispiel:

edgemicro forever ~/mydir/forever.json

Option „configUrl“ zum Befehl „reload“ hinzugefügt

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

Kulanzzeitraum für JWT-Zeitabweichungen

(2.5.7 hinzugefügt) Mit dem Attribut gracePeriod in der OAuth-Konfiguration können Fehler verhindert werden, die durch geringfügige Abweichungen zwischen Ihrer Systemuhr und den im JWT-Autorisierungstoken angegebenen Zeiten „Nicht vor“ (nbf) oder „Ausgestellt am“ (iat) verursacht werden. Legen Sie für dieses Attribut die Anzahl der Sekunden fest, um solche Abweichungen zu berücksichtigen. Weitere Informationen finden Sie unter OAuth-Attribute.

(2.5.7 hinzugefügt) Mit dem Attribut gracePeriod in der OAuth-Konfiguration können Fehler verhindert werden, die durch geringfügige Abweichungen zwischen Ihrer Systemuhr und den im JWT-Autorisierungstoken angegebenen Zeiten „Nicht vor“ (nbf) oder „Ausgestellt am“ (iat) verursacht werden. Legen Sie für dieses Attribut die Anzahl der Sekunden fest, um solche Abweichungen zu berücksichtigen. Weitere Informationen finden Sie unter OAuth-Attribute.

Behobene Fehler in Version 2.5.x

  • (Problem 236) Tippfehler beim Leeren des Caches korrigiert.
  • (Problem 234) Beim Aktualisieren von Edge Microgateway 2.5.35 kommt es zu Abstürzen.
  • (Problem 135) Fehler „secure“ bei ungültiger virtueller Hostreferenz bei Verwendung der Option -v Durch diese Korrektur wird der edgemicro-auth-Proxy vor der Bereitstellung geändert, damit die virtuellen Hosts genau mit den im Flag „-v“ angegebenen übereinstimmen. Außerdem können Sie eine beliebige Anzahl und einen beliebigen Namen für den virtuellen Host angeben (nicht mehr auf „standard“ und „sicher“ beschränkt).
  • (Problem #141) Der Befehl edgemicro reload unterstützt die Konfigurationsdateioption -c nicht. Dieses Problem wurde behoben.
  • (Problem 142) Edge Microgateway meldet beim Installieren eine Fehlermeldung zu veralteten Kryptowährungen. Dieses Problem wurde behoben.
  • (Problem 145) Das Kontingent funktioniert nicht mit Edge Microgateway. Dieses Problem wurde behoben.
  • (Apigee-Community-Problem: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) JWT-Token wird sowohl gegen API-Proxys als auch gegen Ressourcen-URI in OAUTH validiert. Dieses Problem wurde behoben.
  • (Apigee-Community-Problem: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Das Microgateway funktioniert nicht mit OAuth. Dieses Problem wurde behoben.
  • Fehler bei pidPath unter Windows beheben
  • (Problem 157) Das Problem, das zur folgenden Fehlermeldung geführt hat, wurde behoben: ReferenceError: deployProxyWithPassword ist nicht definiert.
  • (Problem 169) Node.js-Abhängigkeiten aktualisieren (npm-Prüfung)
  • Der edgemicro-auth-Proxy verwendet jetzt die Edge-JWT-Richtlinien. Der Proxy ist nicht mehr auf Node.js angewiesen, 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 Standardbasepath für den Proxy edgemicro-auth ändern. Standardmäßig lautet der Basispfad /edgemicro-auth. Verwenden Sie das Flag -x für den Befehl edgemicro configure, um es zu ändern.

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. Mit dem Basispfad /team/*/members können Clients beispielsweise https://[host]/team/blue/members und https://[host]/team/green/members aufrufen, ohne dass Sie neue API-Proxys für die Unterstützung neuer Teams erstellen müssen. Beachten Sie, dass /**/ nicht unterstützt wird.

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

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

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

Beispiel:

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

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

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

Option 1:

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

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

Wenn proxy_tunnel wahr ist, verwendet das Edge-Microgateway die HTTP-CONNECT-Methode, um HTTP-Anfragen über eine einzelne TCP-Verbindung zu tunneln. Dasselbe gilt, wenn die Umgebungsvariablen für die Konfiguration des Proxys TLS-fähig sind.

Option 2:

Die zweite Option besteht darin, einen Proxy anzugeben und proxy_tunnel in der Microgateway-Konfigurationsdatei auf false festzulegen. 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 für welche Hosts keine Edge Microgateway-Proxys verwendet werden sollen: HTTP_PROXY, HTTPS_PROXY und NO_PROXY. Sie können NO_PROXY als durch Kommas getrennte Liste von Domains festlegen, für die das 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. Benutzerdefinierte Zeitüberschreitung für Zielanfragen festlegen (PR 57)

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

edgemicro:
    request_timeout: 10

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

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

Edge Microgateway berücksichtigt benutzerdefinierte HTTP-Statusmeldungen, die für die Zielantwort festgelegt wurden. In früheren Releases wurden Statusmeldungen, die vom Ziel gesendet wurden, mit den Node.js-Standardeinstellungen überschrieben.

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

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

8. Änderungen am OAuth-Plug-in

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

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

  • allowOAuthOnly: Wenn diese Option auf true gesetzt ist, muss jede API einen Autorisierungsheader mit einem Bearer-Zugriffstoken enthalten.

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

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

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

9. Der Edgemicro-Auth-Proxy wurde verbessert (PR 40).

Der Proxy edgemicro-auth wurde verbessert. Vor diesen Änderungen speicherte der Proxy Schlüssel im Edge Secure Store, einem verschlüsselten Tresor. 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 Zielendpunkt-Port überschreiben und zwischen HTTP und HTTPS wählen. Ändern Sie die folgenden Variablen in Ihrem Plug-in-Code: req.targetPort und req.targetSecure. Wenn Sie HTTPS auswählen möchten, legen Sie req.targetSecure auf true fest. Für HTTP ist false richtig. Wenn du „req.targetSecure“ auf „wahr“ setzt, findest du in diesem Diskussionsfaden weitere Informationen.

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

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

-t, --token <token>

Beispiel:

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

Fehlerkorrekturen in Version 2.4.3

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

Version 2.3.5

Neue Funktionen und Verbesserungen in Version 2.3.5

Proxy-Filterung

Sie können filtern, welche Microgateway-kompatiblen Proxys von einer Edge Microgateway-Instanz verarbeitet werden. Beim Starten von Edge Microgateway werden alle Microgateway-kompatiblen Proxys in der zugehörigen Organisation heruntergeladen. Mit der folgenden Konfiguration können Sie einschränken, welche Proxys vom Microgateway verarbeitet werden. Mit dieser Konfiguration werden beispielsweise die Proxys, die vom Microgateway verarbeitet werden, auf drei beschränkt: 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 Informationen zum Anfragepfad in Edge-Analysen angezeigt werden. Fügen Sie der Microgateway-Konfiguration Folgendes hinzu, um den Anfrage-URI und/oder den Anfragepfad zu maskieren. Der URI besteht aus dem Hostnamen und 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 in diesem Release aufgeführt.

Automatische Änderungsabfragen deaktivieren

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

disabled_config_poll_interval: true

Standardmäßig werden bei der periodischen Abfrage alle Änderungen an Edge (z. B. Änderungen an Produkten oder Microgateway-kompatiblen Proxys) sowie Änderungen an der lokalen Konfigurationsdatei erfasst. Das Standardabfrageintervall beträgt 600 Sekunden (fünf Minuten).

Ziel-URLs in Plugins umschreiben

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

Neue Signatur für Plug-in-Funktionen

Es wurde eine neue Funktionssignatur für Plugins hinzugefügt, die die Zielantwort als Argument angibt. Diese Ergänzung erleichtert Plugins den Zugriff auf die Zielantwort.

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

Vereinfachte Standardprotokollausgabe

Der Logging-Dienst lässt jetzt standardmäßig die JSON-Daten der heruntergeladenen Proxys, Produkte und JWTs aus. Sie können die Standardeinstellung ändern, um diese Objekte auszugeben. Dazu müssen Sie beim Starten des Edge-Microgateways DEBUG=* festlegen. Beispiel:

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

Benutzerdefinierter Konfigurationspfad zur Befehlszeile hinzugefügt

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

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

In Version 2.3.3 behobene Fehler

  • Ein Speicherleck wurde behoben, das bei großen Anfragen/Antworten aufgetreten ist.
  • Die Reihenfolge der Plug-in-Ausführung wurde korrigiert. Das Verhalten entspricht jetzt der Beschreibung in der Dokumentation.
  • Das Plug-in „accumulate-request“ bleibt bei GET-Anfragen nicht mehr hängen.
  • Ein Problem im accumulate-response-Plug-in wurde behoben, bei dem ein fehlender Antworttext zu Fehlern führte.

Version 2.3.1

Hinweis zur Installation

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

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 in diesem Release aufgeführt.

Proxys filtern

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

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

Angenommen, Sie haben 50 edgemicro_*-Proxys in Ihrer Edge-Organisation/-Umgebung, darunter edgemicro_foo und edgemicro_bar. Sie können dem Microgateway so mitteilen, dass es nur diese beiden Proxys verwenden soll:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

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

Ziel-Anfrageheader in Plugins festlegen

Es gibt zwei grundlegende Muster, die Sie berücksichtigen sollten, wenn Sie Zielanfrage-Header hinzufügen oder ändern möchten: einen, bei dem die eingehende Anfrage Daten enthält (wie bei einer POST-Anfrage), und einen, 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, Ziel-Header zuverlässig festzulegen.

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

Im folgenden Beispielcode wird gezeigt, wie das geht. Die in onend_request festgelegten Header werden an das Ziel gesendet:

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


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

  return {

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

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


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

  };

}

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

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

Aktualisierungsfunktion ohne Ausfallzeiten

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

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

  • edgemicro status – Prüft, ob das Edge Microgateway ausgeführt wird.
  • edgemicro stop – Der Edge Microgateway-Cluster wird angehalten.
  • edgemicro reload – Die Edge Microgateway-Konfiguration wird ohne Ausfallzeit neu geladen.

Automatische Konfigurationsaktualisierung ohne Ausfallzeit

Edge Microgateway lädt regelmäßig eine neue Konfiguration und führt bei Änderungen ein Neuladen aus. Bei der Abfrage werden alle Änderungen an Edge (Änderungen an Produkten, Microgateway-kompatible Proxys usw.) sowie Änderungen an der lokalen Konfigurationsdatei erfasst. Das Standardabfrageintervall beträgt 600 Sekunden (fünf Minuten). So ändern Sie die Standardeinstellung in der Microgateway-Konfigurationsdatei:

edgemicro:
    config_change_poll_interval: [seconds]

Versionshinweise zur Befehlszeile hinzugefügt

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

edgemicro --version

Neue SSL-Optionen für Edge Microgateway-Server

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

Option Beschreibung
pfx Pfad zu einer pfx-Datei, die den privaten Schlüssel, das Zertifikat und die CA-Zertifikate des Clients im PFX-Format enthält.
passphrase Ein String mit der Passphrase für den privaten Schlüssel oder die PFX-Datei.
ca Pfad zu einer Datei mit einer Liste vertrauenswürdiger Zertifikate im PEM-Format.
ciphers Ein String, der die zu verwendenden Chiffren beschreibt, getrennt durch ein „:“.
rejectUnauthorized Wenn „wahr“ festgelegt ist, wird das Serverzertifikat mit der Liste der angegebenen Zertifizierungsstellen verglichen. 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 SNI (Server Name Indication).

Protokolldateien an stdout senden

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

edgemicro:
  logging:
    to_console: true  

Weitere Informationen finden Sie unter Logdateien verwalten.

Version 2.1.2

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

Benutzerdefinierten API-Endpunkt für die Konfiguration zulassen

Es gibt neue konfigurierbare Endpunkte für den Autorisierungs-Proxy, die die Verwendung eines benutzerdefinierten Authentifizierungsdiensts 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 in diesem Release aufgeführt.

Plattformübergreifenden Authentifizierungsproxy bereitstellen

Es wurde eine Verbesserung vorgenommen, damit der Befehl zum Bereitstellen des Edge Microgateway-Autorisierungs-Proxys in Edge mit 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 den Client angeben

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

Version 2.0.11

Installationshinweis v2.0.11

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

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:

Port beim Start angeben

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

Optionale Authentifizierungsheader beibehalten

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

Verwendung eines benutzerdefinierten Autorisierungsdienstes

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

Version 2.0.4

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

Neue Funktionen und Verbesserungen in Version 2.0.4

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

Unterstützung von Ressourcenpfaden in Produkten

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

Unterstützung für npm global install

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 diesem Release aufgeführt:

Server mit einem einzelnen Prozess

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

Namespacebasierte Konfigurationsdateien

Konfigurationsdateien werden jetzt mithilfe von Organisation und Umgebung geordnet, damit mehrere Microgateway-Instanzen auf demselben Host ausgeführt werden können. Sie finden die Konfigurationsdateien unter ~/.edgemicro, nachdem Sie den Befehl „edgemicro config“ 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 das Edge-Mikrogateway über die Befehlszeile konfigurieren und starten.

Konfiguration im Cache

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

Clustermodus

Es gibt jetzt Optionen, um Edge Microgateway im Clustermodus zu starten. Im Clustermodus können Sie Multi-Core-Systeme nutzen. Das Microgateway verwendet für diese Funktion das Node.js-Clustermodul. Weitere Informationen finden Sie in der Node.js-Dokumentation.

Fehlerkorrekturen in Version 2.0.0

Der Lebenszyklus von Plug-in-Ereignissen verarbeitet jetzt asynchronen Code, der Code mit einem neuen Rückruf enthält, ordnungsgemäß.

Version 1.1.2

Edge Microgateway Version 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 diesem Release aufgeführt:

Leistungsverbesserung

Das Edge-Microgateway verwendet jetzt den Node.js-HTTP-Agenten ordnungsgemäß, um das Verbindungs-Pooling zu verbessern. Diese Verbesserung erhöht die Leistung und Stabilität bei hoher Auslastung.

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 in ~./edgemicro/config.yaml kopiert.

Protokolldateirotation

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

Fehlerkorrekturen in Version 1.1.2

Die folgenden Fehler wurden in Version 1.1.2 behoben.

Beschreibung
Der Java-Aufruf für den internen Edgemicro-Proxy, der mit On-Premise-Edge verwendet wird, verwendet jetzt den richtigen MGMT-Server.
Entfernen Sie Typescript-Abhängigkeiten aus dem Agenten.
Behebung eines Befehlszeilenfehlers bei Verwendung der Option für die schlanke Bereitstellung
Korrektur der Referenz auf die Abhängigkeit der Zertifikatslogik.