Notes de version d'Edge MicroGate

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Version 3.3.x

Correction de bugs et améliorations v.3.3.x

3.3.2

Le 18 août 2023, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.3.2. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Correction de bugs et améliorations :

ID du problème Type Description
296187679 Caractéristique

Les versions Node.js compatibles incluent: 16, 18 et 20. À partir de la version 3.3.2, les commandes CLI Edge Microgateway ne fonctionneront que sur les versions compatibles. L'exécution de commandes de CLI sur des versions non compatibles entraînera une erreur. Consultez également la page Logiciels et versions compatibles avec Apigee.

283947053 Bug

Le problème suivant a été résolu : Edge Microgateway renvoyait le premier produit d'API dans la liste des produits d'API associés à une application. Nous déterminons maintenant le produit d'API approprié à renvoyer en fonction de la requête.

274443329 Bug

Le problème qui empêchait Docker d'extraire une version obsolète de l'image a été résolu. La version du nœud Docker a été mise à jour vers la version 18 de Node.js. Nous allons maintenant créer l'image Docker avec la version 18.17-buster-slim.

Problèmes de sécurité résolus

Aucune

3.3.1

Le 7 juin 2022, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.3.1. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Correction de bugs et améliorations :

ID du problème Type Description
220885293 Caractéristique

Node.js version 16 est désormais compatible.

231972608 Bug

La commande private configure renvoyait une erreur lors de la configuration pour un cloud privé. Ce problème a été résolu.

233315475 Bug

Le plugin json2xml générait une erreur d'analyse lors de la transformation de la réponse JSON en XML et utilisé avec le plugin accumulate-response. Ce problème a été résolu.

221432797 Changement

La version Docker Node.js de l'image de base Edge Microgateway a été mise à niveau vers Node.js 14.

215748732 Caractéristique

La commande revokekeys est désormais compatible avec l'authentification par jeton SAML.

Vous pouvez désormais transmettre un jeton SAML au lieu d'un nom d'utilisateur et d'un mot de passe à l'aide de l'option -t de la commande revokekeys.

Pour en savoir plus, consultez la documentation de référence sur la ligne de commande.

218723889 Mise à jour du document

La documentation a été mise à jour pour inclure un lien vers les plug-ins Edge Microgateway stockés sur GitHub. Consultez la section Plug-ins existants fournis avec Edge Microgateway.

Problèmes de sécurité résolus

ID du problème Description
CVE-2021-23413 Cela concerne le package jszip des versions antérieures à la version 3.7.0. La création d'un fichier ZIP avec des noms de fichiers définis sur les valeurs de prototype d'objet (par exemple, proto, toString, etc.) génère un objet renvoyé avec une instance de prototype modifiée.

3.3.0

Le 4 février 2022, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.3.0. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

Correction de bugs et améliorations :

ID du problème Type Description
219556824 Problème connu Edge Microgateway Gateway 3.3.0 n'est pas compatible avec la commande npm audit fix.

L'exécution de npm audit fix entraîne la mise à niveau de apigeetool vers la version 0.15.2, ce qui a un impact sur la commande edgemicro upgradeauth.

Si vous exécutez npm audit fix, puis edgemicro upgradeauth, vous verrez l'erreur suivante:

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

Pour corriger le problème, exécutez la commande suivante afin de restaurer la bonne version de apigeetool:

npm install apigeetool@0.15.1

Ce problème sera résolu dans une prochaine version d'Edge Microgateway.

138622990 Caractéristique

Un nouvel indicateur pour le plug-in Quota, isHTTPStatusTooManyRequestEnabled, configure le plug-in afin qu'il renvoie un état de réponse HTTP 429 au lieu de l'état 403 en cas de violation de quota. Consultez Options de configuration pour les quotas.

192534424 Bug

Le code de réponse affiché dans les analyses Apigee ne correspondait pas au code de réponse d'Edge Microgateway.

198986036 Optimisation Edge Microgateway récupère désormais la clé publique d'un fournisseur d'identité (IdP) à chaque intervalle d'interrogation et met à jour la clé au cas où la clé publique de l'IdP change. Auparavant, le plug-in extauth ne pouvait pas mettre à jour la clé publique sans actualiser Edge Microgateway si la clé publique d'un IdP changeait.
168713541 Bug

La documentation a été améliorée pour expliquer comment configurer TLS/SSL pour plusieurs cibles. Consultez la section Utiliser les options SSL/TLS du client.

171538483 Bug

Modification de la documentation afin de corriger la convention d'attribution de noms des fichiers journaux. Consultez les Conventions de dénomination des fichiers journaux.

157908466 Bug

La documentation a été modifiée pour expliquer correctement comment installer une version spécifique d'Edge Microgateway. Consultez la section Mettre à niveau Edge Microgateway si vous disposez d'une connexion Internet.

215748427 Bug Un problème a été résolu : la commande révoquekeys renvoyait une erreur lors de la révocation d'une clé à l'aide d'une paire clé/secret existante.
205524197 Bug La documentation a été mise à jour pour inclure la liste complète des niveaux de journalisation. Consultez les sections Attributs Edgemicro et Définir le niveau de journalisation.

Version 3.2.x

Correction de bugs et améliorations v.3.2.x

3.2.3

Le 17 septembre 2021, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.2.3. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Correction de bugs et améliorations :

ID du problème Type Description
192416584 Caractéristique

L'attribut de configuration disableStrictLogFile vous permet d'assouplir les autorisations strictes pour les fichiers dans le fichier journal de l'application api-log.log. Pour en savoir plus, consultez Comment assouplir les autorisations des fichiers journaux.

192799989 Caractéristique

L'attribut de configuration on_target_response_abort vous permet de contrôler le comportement d'Edge Microgateway si la connexion entre le client (Edge Microgateway) et le serveur cible se ferme prématurément. Pour en savoir plus, consultez la section Attributs Edgemicro.

148062415 Bug Dans un contexte de conteneur Docker, Edge Microgateway ne s'arrêtait pas correctement à l'aide de la commande docker stop {containerId}. Ce problème a été résolu. Le processus a été arrêté, mais les fichiers .sock et .pid n'ont pas été supprimés. Les fichiers sont maintenant supprimés et le redémarrage du même conteneur fonctionne comme prévu.
190715670 Bug Certaines requêtes se bloquaient lors de l'activité de rechargement interne de la micropasserelle. Ce problème a été résolu. Ce problème était intermittent et se produisait lors de pics de trafic. Le problème est survenu lors de l'utilisation des fonctionnalités tokenCache et cacheKey du plug-in OAuth.
183910111 Bug Correction d'un problème où une URL de chemin d'accès à une ressource contenant une barre oblique finale était interprétée à tort comme un chemin d'accès à une ressource distinct. Désormais, par exemple, les chemins d'accès /country/all et /country/all/ sont interprétés comme le même chemin.

Problèmes de sécurité résolus

ID du problème Description
CVE-2020-28503 Les contenus de copie du package antérieurs à la version 2.0.5 sont vulnérables à la pollution des prototypes via leur fonctionnalité principale.
CVE-2021-23343 Toutes les versions de l'analyse de chemin de package sont vulnérables aux attaques par déni de service d'expression régulière (ReDoS) via les expressions régulières "splitDeviceRe", "splitTailRe" et "splitPathRe". ReDoS présente une complexité polynomiale dans le pire des cas.

3.2.2

Le jeudi 15 juillet 2021, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des différents projets composants associés à Edge Microgateway 3.2.2. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Correction de bugs et améliorations :

ID du problème Type Description
185323500 Changement

La valeur de expires_in est passée de chaîne à entier

Les API de requête de jeton et de requête de jeton d'actualisation renvoient désormais expires_in sous la forme d'une valeur entière spécifiée en secondes.

Conformément à la norme RFC 6749 sur le framework d'autorisation OAuth 2.0, la valeur attendue du paramètre de configuration expires_in a été remplacée par un nombre entier. Pour en savoir plus, consultez la documentation de référence sur les opérations et la configuration.

188492065 Changement Fin de la compatibilité avec Node.js 8

Node.js 8 ne sera plus pris en charge à partir de la version 3.2.2. Pour en savoir plus, consultez la page Logiciels et versions compatibles: Edge Microgateway.

183990345 Caractéristique Configurer la sortie du journal pour le conteneur Docker

Le paramètre de configuration Edge Microgateway to_console vous permet de choisir d'envoyer les informations de journal vers la sortie standard plutôt que vers un fichier journal. Si vous suivez la procédure permettant d'exécuter Edge Microgateway dans un conteneur Docker, le conteneur redirige par défaut stdout et la sortie d'erreur vers un fichier situé dans le conteneur à l'emplacement: ${APIGEE_ROOT}/logs/edgemicro.log.

Pour empêcher l'envoi des informations de journal à edgemicro.log, utilisez la nouvelle variable LOG_CONSOLE_OUTPUT_TO_FILE lorsque vous exécutez le conteneur.

Pour plus d'informations sur l'utilisation de cette nouvelle variable, consultez la section Utiliser Docker pour Edge Microgateway.

183057665 Caractéristique Rendez les chemins d'accès aux fichiers edgemicro.pid et edgemicro.sock configurables.

Un nouveau paramètre -w, --workdir permettant d'exécuter un conteneur Docker avec Edge Microgateway vous permet de spécifier le chemin d'accès au répertoire dans lequel les fichiers edgemicro.sock et edgemicro.pid doivent être créés dans un conteneur Docker. Consultez la section Utiliser Docker pour Edge Microgateway.

191352643 Caractéristique L'image Docker d'Edge Microgateway a été mise à jour pour utiliser NodeJS version 12.22. Consultez la section Utiliser Docker pour Edge Microgateway.

Problèmes de sécurité résolus

ID du problème Description
CVE-2021-28860 Dans Node.js mixme, antérieur à la version 0.5.1, un pirate informatique peut ajouter ou modifier les propriétés d'un objet via "__proto__" via les fonctions mutate() et merge(). L'attribut pollué sera directement attribué à chaque objet du programme. La disponibilité du programme risquerait de provoquer un déni de service (DoS).
CVE-2021-30246 Dans le package jsrsasign jusqu'à la version 10.1.13 pour Node.js, certaines signatures RSA PKCS#1 v1.5 non valides sont reconnues par erreur comme valides. REMARQUE: Il n'existe aucune attaque pratique connue.
CVE-2021-23358 Le trait de soulignement du package de 1.13.0-0 et des versions 1.13.0-2, 1.3.2 et antérieures à 1.12.1 sont vulnérables à l'injection de code arbitraire via la fonction de modèle, en particulier lorsqu'une propriété de variable est transmise en tant qu'argument, car elle n'est pas nettoyée.
CVE-2021-29469 Node-redis est un client Redis Node.js. Avant la version 3.1.1, lorsqu'un client était en mode surveillance, l'expression régulière utilisée pour détecter les messages de surveillance pouvait entraîner un retour en arrière exponentiel sur certaines chaînes. Ce problème peut entraîner un déni de service. Ce problème a été corrigé dans la version 3.1.1.
CVE-2020-8174 L'image Docker a été mise à jour pour utiliser Node.js version 12.22

3.2.1

Le vendredi 5 mars 2021, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.2.1. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Correction de bugs et améliorations :

ID du problème Type Description
180362102 Bug Un problème a été résolu : les clés JWK ayant une valeur nulle provoquaient l'échec des applications.

La condition nulle est maintenant gérée pour éviter de transmettre une valeur nulle dans jwkPublicKeys.

Remarque:Ce correctif nécessite la mise à niveau du proxy edgemicro-auth.

179971737 Bug Un problème a été résolu : les réponses d'état 4XX / 5XX de la cible étaient enregistrées en tant qu'erreurs de proxy pour les proxys edgemicro_*.

Pour les transactions Edge Microgateway, un nombre d'erreurs cible incorrect était affiché dans le tableau de bord d'analyse de code d'erreur Apigee Edge. Les codes d'erreur pour les erreurs de cible étaient comptabilisés comme des erreurs de proxy. Ce problème a été résolu et le nombre correct d'erreurs cibles est maintenant affiché.

179674670 Caractéristique Nous avons ajouté une fonctionnalité qui vous permet de filtrer la liste des produits d'API placés dans un jeton JWT en fonction des codes d'état des produits.

Les produits d'API ont trois codes d'état : "En attente", "Approuvé" et "Révoqué". Une nouvelle propriété appelée allowProductStatus a été ajoutée à la règle Définir les variables JWT dans le proxy edgemicro-auth. Pour utiliser cette propriété afin de filtrer les produits d'API répertoriés dans le jeton JWT:

  1. Ouvrez le proxy edgemicro-auth dans l'éditeur de proxy Apigee.
  2. Ajoutez la propriété allowProductStatus au code XML de la règle SetJWTVariables et spécifiez une liste de codes d'état séparés par une virgule à filtrer. Par exemple, pour filtrer les résultats en fonction de l'état En attente et Révoqué :
    <?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>
    
    

    Si vous ne souhaitez afficher que les produits Approuvés, définissez la propriété comme suit:

    <Property name="allowProductStatus">Approved</Property>
  3. Enregistrez le proxy.

    Si la balise Property n'est pas présente, les produits avec tous les codes d'état sont répertoriés dans le jeton JWT.

    Pour utiliser cette nouvelle propriété, vous devez mettre à niveau le proxy edgemicro-auth.

178423436 Bug Les valeurs de clé et de secret transmises dans la CLI ou via des variables d'environnement sont visibles dans les arguments de ligne de commande de l'explorateur de processus.

Un problème a été signalé : la clé Edge Microgateway et les valeurs de secret transmises à partir d'arguments de ligne de commande ou définies via des variables d'environnement étaient affichées dans les arguments des processus enfants/nœud de calcul du nœud après le démarrage de la micropasserelle.

Pour résoudre ce problème dans le scénario de variable d'environnement, les valeurs ne sont plus visibles dans les arguments de ligne de commande de l'explorateur de processus.

Si les valeurs de la clé et du secret sont transmises via la ligne de commande lors du démarrage de la micropasserelle, ces paramètres remplacent les valeurs de variable d'environnement, si elles sont définies. Dans ce cas, les valeurs sont toujours visibles dans les arguments de ligne de commande de l'explorateur de processus.

178341593 Bug Une erreur dans la documentation du plug-in apikeys a été corrigée.

Le fichier README du plug-in apikeys incluait une propriété gracePeriod de manière incorrecte. Nous avons supprimé cette propriété et sa description du fichier README.

La propriété gracePeriod est implémentée dans le plug-in oauth. Pour utiliser la fonctionnalité de délai de grâce, vous devez utiliser le plug-in oauth.

179366445 Bug Un problème a été résolu : la charge utile était supprimée pour toutes les requêtes GET envoyées aux cibles.

Vous pouvez contrôler le comportement souhaité à l'aide d'un nouveau paramètre de configuration, edgemicro: enable_GET_req_body. Lorsque ce paramètre est défini sur true, l'en-tête de requête transfer-encoding: chunked est ajouté à toutes les requêtes GET et, le cas échéant, une charge utile GET est envoyée à la cible. Si la valeur est false (valeur par défaut), la charge utile est supprimée en mode silencieux avant que la requête ne soit envoyée à la cible.

Exemple :

edgemicro:
 enable_GET_req_body: true

Conformément au document RFC 7231, section 4.3.1: GET, une charge utile de requête GET n'a pas de sémantique définie et peut donc être envoyée à la cible.

3.2.0

Le jeudi 21 janvier 2021, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des différents projets composants associés à Edge Microgateway 3.2.0. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

Correction de bugs et améliorations :

ID du problème Type Description
152640618 Bug Activation du plug-in extauth pour définir l'en-tête x-api-key de sorte qu'il contienne le client_id sur l'objet de la requête lorsque le jeton est valide. Le x-api-key est ensuite disponible pour les plug-ins suivants.
168836123, 172295489, 176462355, 176462872 Caractéristique Prise en charge de Node.js 14.
172376835 Bug Utilisez la bonne unité de temps pour le point de terminaison /token dans le proxy edgemicro-auth.

Le point de terminaison /token du proxy edgemicro-auth renvoyait expires_in en millisecondes. Toutefois, conformément à la spécification OAuth, il devrait être cohérent avec l'unité de temps de refresh_token_expires_in, à savoir les secondes.

Ce correctif ne modifie pas la durée du délai d'expiration, mais seulement l'unité de temps. Il ne s'applique qu'au champ expires_in dans la charge utile de réponse du jeton d'accès. Le jeton JWT dans la même charge utile de réponse contiendrait deux champs, iat et exp. Ils sont générés correctement et ont toujours été générés avec l'unité de temps seconds.

Si les clients utilisaient la valeur expires_in (en millisecondes) pour actualiser les jetons avant leur expiration, l'application de ce correctif sans modifier les clients entraînerait des actualisations beaucoup plus fréquentes et inutiles. Ces clients devront être modifiés pour tenir compte du changement d'unité de temps afin de conserver le comportement d'origine.

Si les clients ont toujours utilisé les valeurs du jeton JWT pour évaluer la période d'actualisation du jeton, ils ne devraient pas avoir à modifier.

173064680 Bug La micro-passerelle met fin à la requête cible avant que tous les fragments de données soient traités.

Il s'agit d'un problème intermittent observé pour les requêtes de taille de charge utile élevée. Ce problème a été introduit dans la version 3.1.7.

174640712 Bug Ajoutez une gestion appropriée des données aux plug-ins.

Une gestion appropriée des données a été ajoutée aux plug-ins suivants: json2xml, accumulate-request, accumulate-response et header-uppercase. Pour plus d'informations sur le plug-in, consultez la section microgateway-plugins.

Version 3.1.x

Correction de bugs et améliorations v.3.1.x

3.1.8

Lundi 16 novembre 2020, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.1.8. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Correction de bugs et améliorations :

ID du problème Type Description
169201295 Bug Les valeurs numériques et booléennes n'étaient pas analysées correctement dans les balises de variables d'environnement.

La gestion des remplacements des variables d'environnement a analysé toutes les valeurs en tant que chaînes, ce qui a entraîné l'analyse des erreurs pour rechercher les valeurs booléennes ou numériques. Par exemple, edgemicro.port attend et requiert une valeur numérique. Des corrections ont été apportées pour assurer la compatibilité avec les valeurs booléennes et numériques. Pour en savoir plus sur la configuration, consultez la section Définir des attributs de configuration avec des valeurs de variables d'environnement.

169202749 Bug Le remplacement des variables d'environnement ne fonctionnait pas dans certains cas.

La gestion du remplacement des variables d'environnement ne fonctionnait pas pour certains attributs de configuration. Pour en savoir plus sur les limites, consultez la section Définir des attributs de configuration avec des valeurs de variables d'environnement.

168732942 Bug Un problème a été résolu : les champs d'application OAuth ne restreignaient pas l'accès au proxy des API comme prévu.

Le flux /token du proxy edgemicro-auth a généré des jetons JWT sans les champs d'application de produit appropriés définis sur Edge, car 1) la charge utile de la requête vers le flux /token n'a pas transmis de paramètre de champ d'application, ou 2) un champ d'application non valide a été transmis dans la charge utile de la requête au flux /token. Un correctif a été apporté afin d'afficher tous les champs d'application définis dans les produits d'API sur Apigee Edge.

170609716 Bug Un problème a été résolu : le flux /refresh du proxy edgemicro-auth générait un jeton JWT sans apiProductList.

170708611 Bug Les champs d'application des produits d'API ne sont pas disponibles pour les plug-ins personnalisés.

Les champs d'application des produits d'API n'ont pas été mis à la disposition des plug-ins personnalisés et n'ont pas été écrits dans le fichier de configuration du cache. Consultez À propos de la fonction init() du plug-in pour découvrir comment les plug-ins peuvent accéder aux détails du champ d'application.

169810710 Caractéristique Clé et code secret enregistrés dans le fichier de configuration du cache.

La clé et le secret Edge Microgateway étaient enregistrés dans le fichier YAML de la configuration du cache à chaque actualisation ou démarrage. Dans la version 3.1.8, la clé et le secret ne sont plus enregistrés dans le fichier de configuration du cache. Si la clé et le secret ont déjà été écrits dans le fichier de configuration du cache, ils seront supprimés.

170708621 Caractéristique Impossible de désactiver le plug-in d'analyse.

Dans les versions précédentes de microgateway, le plug-in d'analyse était activé par défaut et il n'y avait aucun moyen de le désactiver. Dans la version 3.1.8, un nouveau paramètre de configuration, enableAnalytics, a été introduit pour activer ou désactiver le plug-in d'analyse. Pour en savoir plus, consultez la documentation de référence sur la configuration.

159571119 Bug Obtenir une erreur de valeur nulle dans le hook onerror_request dans les plug-ins personnalisés pour le délai avant expiration de la réponse/du socket.

Des corrections ont été apportées afin d'insérer le code d'état HTTP et le message d'erreur corrects pour les événements onerror_request et le message d'erreur correct pour les événements onerror_response.

3.1.7

Le jeudi 24 septembre 2020, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.1.7. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Correction de bugs et améliorations :

ID du problème Type Description
131708105 Bug Le plug-in analytics a mal géré la réponse nulle des appels axpublisher et provoquait la fermeture des workers.

133162200 Bug Les informations sur l'application du développeur n'étaient pas renseignées dans les analyses avec des réponses d'état 403 causées par des chemins de ressources de produit non autorisés ou des réponses 401 causées par un jeton expiré ou non valide.

132194290 Bug Les enregistrements d'analyse sont supprimés lorsque Apigee Edge refuse certains enregistrements d'analyse.

158618994 Bug Nombre excessif de connexions client Redis.

161404373 Bug En cas de réponse d'état 404, l'URI de proxy complet était inclus dans le message de réponse.
166356972 Bug

L'exécution d'Edge Microgateway avec Node.js version 12.13.x ou ultérieure a généré l'erreur suivante lors de l'exécution de plug-ins qui transforment la charge utile de la requête:

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

168681746 Bug L'actualisation manuelle d'Edge Microgateway avec redisBasedConfigCache:true ne fonctionnait pas.

149256174 Bug Les erreurs de plug-in OAuth n'étaient pas consignées pour les échecs de réseau.

166517190 Bug Les données jwk_public_keys n'ont pas été stockées ni récupérées par le synchronisateur, mais stockées dans Redis.

141659881 Bug Le traitement des erreurs de certificat cible non valide a affiché des réponses d'erreur trompeuses.

142808699 Bug Le plug-in accesscontrol ne gérait pas correctement les sections "allow" et "deny".

La micropasserelle traite désormais correctement la section de refus et respecte l'ordre des sections "allow" et "deny". Une nouvelle propriété noRuleMatchAction a été ajoutée au fichier de configuration de la micro-passerelle pour assurer la parité avec la stratégie AccessControl d'Apigee Edge. Consultez également le fichier README du plug-in de contrôle d'accès sur GitHub.

3.1.6

Le jeudi 20 août 2020, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.1.6. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Correction de bugs et améliorations :

ID du problème Type Description
163711992 Caractéristique Options d'emplacement des fichiers de clés et de certificats personnalisées pour la commande rotationkey.

Pour en savoir plus sur ces nouvelles options de commande, consultez Alterner les clés.

154838259 Bug Correction de la rotation des clés pour les instances multi-instances dans plusieurs centres de données

Pour en savoir plus sur ces nouvelles options de commande, consultez Alterner les clés.

145525133 Fonctionnalité alpha Nouvelles métriques de plug-in

Pour en savoir plus, consultez le fichier README des nouvelles métriques de plug-in sur GitHub.

159396879 Bug Supprimer l'outil d'aide aux packages inutilisé
161092943 Bug La validation du chemin de base était incorrecte

Avant la version 3.1.6, la correspondance du chemin de base du proxy était incorrecte lorsqu'il ne se terminait pas par /.

Vous trouverez ci-dessous des explications supplémentaires sur le comportement précédent (qui est corrigé dans la version 3.1.6):

Supposons qu'un proxy soit configuré avec le chemin de base /hello/v1 et un chemin d'accès cible à https://mocktarget.apigee.net. Supposons à présent que le proxy reçoit les requêtes suivantes:

Chemin de requête Chemin résolu Résultat
/hello/v1/json https://mocktarget.apigee.net/json Le chemin d'accès résolu est correct, car le chemin de base de /hello/v1 est correctement mis en correspondance.
Chemin de requête Chemin résolu Résultat
/hello/v1json. https://mocktarget.apigee.netjson Le chemin d'accès résolu est incorrect, car /hello/v1 est une sous-chaîne de /hello/v1json. Comme /hello/v1json n'est pas un chemin valide, Edge Microgateway aurait dû générer une erreur 404. À partir de la version 3.1.6, une erreur 404 est générée dans ce cas.
160431789 Bug Plug-ins personnalisés : l'objet de configuration transmis à init n'est pas renseigné

La configuration d'Apigee Edge est disponible dans l'objet de configuration pour tous les plug-ins personnalisés après la fusion avec le fichier de configuration Edge Microgateway. Voir config.

162758808 Bug Nouvelle configuration de quota pour le magasin de sauvegarde Redis

Vous pouvez utiliser la configuration suivante pour spécifier un magasin de sauvegarde Redis pour les quotas. Pour en savoir plus, consultez la section Utiliser un magasin de sauvegarde Redis pour les quotas.

3.1.5

Le vendredi 26 juin 2020, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.1.5. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Correction de bugs et améliorations :

ID du problème Type Description
159210507 Caractéristique Configuration qui exclut le traitement du plug-in

Une nouvelle fonctionnalité de configuration a été ajoutée pour ignorer le traitement des plug-ins pour les URL spécifiées. Pour plus d'informations, consultez Configurer des URL d'exclusion pour les plug-ins.

156986819, 158529319 Bug Les problèmes liés au plug-in json2xml ont été résolus

Correction des problèmes où le plug-in produisait des en-têtes Content-Type en double et où les en-têtes n'étaient pas envoyés à la cible comme prévu dans certains cas.

156560067, 159688634 Caractéristique

Utiliser des valeurs de variables d'environnement dans la configuration

Nous avons ajouté une fonctionnalité qui vous permet de spécifier des variables d'environnement à l'aide de tags dans le fichier de configuration. Les balises de variables d'environnement spécifiées sont remplacées par les valeurs réelles des variables d'environnement. Les remplacements sont stockés uniquement en mémoire et non dans la configuration d'origine ou dans les fichiers de cache. Pour en savoir plus, consultez Définir des attributs de configuration avec des valeurs de variables d'environnement.

155077210 Bug Un problème de mise en forme des journaux a été résolu.

Correction d'un problème où l'hôte cible apparaissait dans les journaux avec des deux-points superflus.

153673257 Bug

(Edge for Private Cloud uniquement) Produits compatibles avec Microgateway non extraits

Correction d'un problème qui empêchait l'extraction des produits compatibles avec la micro-passerelle. Ce problème existait uniquement sur Edge pour les installations de Private Cloud.

154956890, 155008028, 155829434 Caractéristique Possibilité de filtrer les produits téléchargés en fonction d'attributs personnalisés

Pour en savoir plus, consultez Filtrer les produits par attributs personnalisés.

153949764 Bug Le processus Edge Microgateway plantait lorsque le fichier de destination du journal était plein

La gestion des exceptions a été améliorée pour piéger les erreurs et afficher un message dans la console.

155499600 Bug Les problèmes de rotation des clés et de mise à niveau de KVM ont été résolus

Consultez également la page Effectuer une rotation des clés JWT.

3.1.4

Le vendredi 23 avril 2020, nous avons publié le correctif suivant pour Edge Microgateway.

Correction de bug:

Un problème de dépendance a été résolu dans la version 3.1.3. La version 3.1.3 a été marquée comme obsolète dans le dépôt npm. Sinon, toutes les corrections de bugs et améliorations décrites dans la note de version 3.1.3 s'appliquent à cette version.

3.1.3

Le mercredi 15 avril 2020, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.1.3. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Correction de bugs et améliorations :

  • 153509313 - Correction d'un problème qui provoquait des fuites de mémoire dans le module de débogage Node.js. Le problème existe dans les versions 3.1.0, 3.1.1 et 3.1.2.
  • 153509313 - Le même ID de message pour deux transactions différentes était affiché dans la sortie de journalisation. Ce problème a été résolu.
  • 151673570 : Correction d'un problème empêchant la mise à jour d'Edge Microgateway pour utiliser les nouvelles API KVM Apigee. Edge Microgateway utilise désormais les nouvelles commandes pour ajouter et mettre à jour les valeurs KVM.
  • 152822846 : Dans les versions précédentes, Edge Microgateway a été mis à jour afin que son traitement du mappage des chemins d'accès aux ressources corresponde à celui d'Apigee Edge. Dans cette version, un problème a été résolu : le format /literal_string/* n'était pas géré correctement. Exemple : /*/2/*. Consultez également la section Configurer le comportement d 'un chemin de ressource "/", /*' et '/**'.
  • 152005003 - Des modifications ont été apportées pour activer les identifiants à l'échelle de l'organisation et de l'environnement pour les quotas.
  • 152005003 - Des modifications ont été apportées pour activer les identifiants à l'échelle de l'organisation et de l'environnement pour les quotas. La combinaison "org + env + appName + productName" est utilisée comme identifiant de quota.

3.1.2

Le lundi 16 mars 2020, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.1.3. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Correction de bugs et améliorations :

  • 151285018 : Une amélioration a été apportée à une fonctionnalité permettant d'ajouter la prise en charge du proxy HTTP pour le trafic entre Edge Microgateway et les cibles backend. En outre, des problèmes ont été résolus concernant la compatibilité des proxys HTTP existants entre Edge Microgateway et Apigee Edge. Pour en savoir plus, consultez les articles suivants :
  • 149101890 : le code de notification du journal pour les cas où le serveur cible ou l'équilibreur de charge ferme sa connexion a été modifié de ERROR à INFO.
  • 150746985 – La commande edgemicro verify ne fonctionnait pas correctement si redisBasedConfigCache: true ou quotaUri: https://%s-%s.apigee.net/edgemicro-auth étaient présents dans le fichier de configuration. Ce problème a été résolu.
  • 151284716 : amélioration permettant de fermer les connexions au serveur plus rapidement lors du redémarrage des nœuds de calcul lors d'un rechargement.
  • 151588764 – Mise à jour de la version Node.js dans l'image Docker utilisée pour exécuter Edge Microgateway dans un conteneur Docker et passer à la version 12, car Node.js v8 est obsolète.
  • 151306049 : La documentation a été mise à jour afin de répertorier les API de gestion Apigee Edge utilisées par les commandes CLI Edge Microgateway. Consultez la section Quelles API de gestion Edge Microgateway utilise-t-elle ?.

3.1.1

Le jeudi 20 février, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des différents projets composants associés à Edge Microgateway 3.1.1. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Correction de bugs et améliorations :

  • 146069701 : Le module microgateway-core ne respectait pas les variables d'environnement HTTP_PROXY et HTTPS_PROXY. Ce problème a été résolu. Avec cette modification, les paramètres proxy du fichier de configuration YAML, s'ils sont spécifiés, sont désormais ignorés. Seules les variables d'environnement sont utilisées pour spécifier le proxy.

    Si vous souhaitez spécifier la configuration du proxy dans le fichier de configuration, vous devez également spécifier une variable HTTP_PROXY qui mentionne la même URL de proxy que celle spécifiée dans le fichier de configuration. Par exemple, si vous spécifiez la configuration suivante:

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

    Vous devez également spécifier cette variable d'environnement:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620 : un nouveau paramètre de configuration, edgemicro.headers_timeout, a été ajouté. Cet attribut limite le temps (en millisecondes) que l'analyseur HTTP attend de recevoir les en-têtes HTTP complets. Exemple :
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    En interne, le paramètre définit l'attribut Node.js Server.headersTimeout pour les requêtes. (Par défaut: 5 secondes de plus que la durée définie avec edgemicro.keep_alive_timeout. Ce paramètre par défaut empêche les équilibreurs de charge ou les proxys d'interrompre par erreur la connexion.)

  • 149278885 - Une nouvelle fonctionnalité a été ajoutée qui vous permet de définir le délai d'expiration de l'API cible au niveau du proxy d'API au lieu d'utiliser un paramètre de délai d'expiration global.

    Si vous définissez la propriété TargetEndpoint io.timeout.millis dans le proxy d'API, Edge Microgateway pourra récupérer cette propriété et appliquer des délais avant expiration spécifiques au point de terminaison cibles. Si ce paramètre n'est pas appliqué, Edge Microgateway utilise le délai avant expiration global spécifié avec edgemicro.request_timeout.

3.1.0

Le mardi 21 janvier, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des différents projets composants associés à Edge Microgateway 3.1.0. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Correction de bugs et améliorations :

  • 144187500 : un nouvel événement de niveau "WARN" est consigné lorsque l'indicateur quotas.failOpen est déclenché. Cet indicateur est déclenché si une erreur de traitement du quota se produit ou si la requête "quota apply" à Edge ne parvient pas à mettre à jour les compteurs de quota distants. Dans ce cas, le quota ne sera traité en fonction de décomptes locaux que jusqu'à la prochaine synchronisation à distance réussie du quota. Auparavant, cet événement n'était consigné que lorsque le niveau de journalisation était défini sur "DÉBOGAGE".

    Exemple :

    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 - Correction d'un problème entraînant une incidence sur les nouvelles transactions en cours ou les nouvelles transactions chaque fois qu'Edge Microgateway détecte une modification dans un proxy d'API. Désormais, lorsqu'une modification est apportée à un proxy, Edge Microgateway actualise le cache et redémarre les nœuds de calcul. Cette modification n'a aucune incidence sur les transactions en cours et les nouveaux appels d'API envoyés à la micropasserelle.
  • 146378327 : Le niveau de journalisation de sourceRequest, targetRequest et targetResponse a été remplacé par le niveau INFO.
  • 146019878 : L'écart entre la latence calculée pour les "performances du proxy d'API" dans Edge Analytics et les événements de journal sourceResponse/targetResponse d'Edge Microgateway a été corrigé. Désormais, la latence dans les événements de journaux Edge Analytics et Microgateway est alignée.
  • Modifications liées à la logique de correspondance de structure :
    • 147027862 - Le plug-in OAuth a été mis à jour pour accepter les formats de correspondance de chemin d'accès aux ressources suivants, comme spécifié dans les produits d'API :
      • /{literal}**
      • /{literal}*
      • Toute combinaison de ces deux modèles

      Avec cette modification, le plug-in Edge Microgateway suit désormais la même correspondance de modèles qu'Apigee Edge, comme expliqué dans la section Configurer le comportement d'un chemin de ressource "/", /*' et '/**'.

    • 145644205 - Mettre à jour la logique de correspondance de format du plug-in apiKeys pour qu'elle corresponde au plug-in OAuth.
  • 143488312 : Correction d'un problème où les espaces de début ou de fin dans le paramètre d'ID client entraînaient la création de la liste de produits JWT pour les requêtes de jeton OAuth et de clé API.
  • 145640807 et 147579179 : une nouvelle fonctionnalité a été ajoutée qui permet à une instance Edge Microgateway spéciale appelée "le synchroniseur" de récupérer les données de configuration d'Apigee Edge et de les écrire dans une base de données Redis locale. Vous pouvez ensuite configurer d'autres instances de micro-passerelle pour lire leurs données de configuration à partir de la base de données. Cette fonctionnalité ajoute un niveau de résilience à Edge Microgateway. Il permet aux instances de micropasserelle de démarrer et de fonctionner sans avoir à communiquer avec Apigee Edge. Pour en savoir plus, consultez Utiliser le synchronisateur.

    La fonctionnalité de synchronisation est actuellement compatible avec Redis 5.0.x.

Version 3.0.x

Correction de bugs et améliorations v.3.0.x

3.0.10

Le vendredi 8 novembre, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.0.10. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Correction de bugs et améliorations :

  • 142677575 : une mise à jour de fonctionnalité a été effectuée afin que la mise en correspondance des chemins de ressources utilisés dans les produits d'API pour Edge Microgateway s'aligne désormais sur celle utilisée par Apigee Edge, comme décrit dans la section Configurer le comportement d'un chemin d'accès à une ressource "/", /*' et '/**'.

    Remarque: Si vous utilisez un modèle de ressource composé tel que /*/2/**, vous devez vous assurer que le proxy edgemicro_auth est ajouté à un produit d'API autonome. Vous devez ensuite inclure ce produit dans l'application de développement du proxy, comme illustré dans la capture d'écran suivante:

    alt_text

    Remarque: La propriété de configuration features.isSingleForwardSlashBlockingEnabled, comme décrit dans la section Configurer le comportement d 'un chemin de ressource "/", /*' et /**', n'est pas compatible avec Edge Microgateway.

  • 143740696 - La structure de la configuration quotas a changé (voir également les notes de version pour la version 3.0.9). La propriété quotas permet de configurer le plug-in de quota. La structure a été modifiée pour améliorer la clarté des éléments de configuration. Pour configurer le plug-in de quota, utilisez la configuration YAML suivante. Notez que la propriété de configuration s'appelle quotas. Pour en savoir plus sur les propriétés de configuration quotas individuelles, consultez la section Options de configuration des quotas.

    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 - Une nouvelle fonctionnalité a été ajoutée pour vous permettre d'utiliser Redis comme magasin de sauvegarde de quota. Si useRedis est "true", le module volos-quota-redis est utilisé. Lorsque la valeur est "true", le quota est limité aux instances Edge Microgateway qui se connectent à Redis. Si la valeur est "false", le module volos-quota-apigee est utilisé comme magasin de sauvegarde et le compteur de quota est global. Pour en savoir plus, consultez la section Options de configuration des quotas. Exemple :
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210 : le délai d'expiration par défaut des jetons générés par le proxy edgemicro-auth est passé de 108 000 millisecondes (1,8 minute) à 1 800 secondes (30 minutes).
  • 143551282 : la commande edgemicro genkeys a été mise à jour pour inclure un paramètre ‑‑token afin de prendre en charge les organisations sur lesquelles SAML est activé. Ce paramètre vous permet d'utiliser un jeton OAuth pour l'authentification au lieu d'un nom d'utilisateur/mot de passe. Pour en savoir plus, consultez Générer des clés.

3.0.9

Le vendredi 11 octobre, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.0.9. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Correction de bugs et améliorations :

  • 141989374 : une nouvelle fonctionnalité de "fail open" a été ajoutée au plug-in de quota. Lorsque cette fonctionnalité est activée, si une erreur de traitement du quota se produit ou si la demande "quota apply" à Edge ne parvient pas à mettre à jour les compteurs de quota distants, le quota sera traité sur la base des décomptes locaux uniquement jusqu'à la prochaine synchronisation à distance réussie des quotas. Dans les deux cas, un indicateur quota-failed-open est défini dans l'objet de la requête.

    Pour activer la fonctionnalité "fail open" de quota, définissez la configuration suivante:

    quotas :
     failOpen : true

    Remarque: En outre, le nom de l'option d'objet de requête fail-open du plug-in OAuth a été remplacé par oauth-failed-open.

  • 142093764 : une modification de la configuration du proxy edgemicro-auth a été apportée pour éviter les dépassements de quota. La modification consiste à définir le type de quota sur calendar. Pour utiliser cette amélioration, vous devez mettre à jour votre edgemicro-auth vers la version 3.0.7 ou ultérieure.
  • 142520568 - Une nouvelle fonctionnalité a été ajoutée pour permettre la journalisation de l'ID du processeur de messages dans les réponses aux quotas. Pour utiliser cette fonctionnalité, vous devez mettre à jour votre proxy edgemicro-auth vers la version 3.0.7 ou une version ultérieure et définir la configuration suivante :
    quotas:
      useDebugMpId: true

    Lorsque useDebugMpId est défini, les réponses de quota d'Edge contiennent l'ID du MP et sont consignées par Edge Microgateway. Exemple :

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

3.0.8

Le jeudi 26 septembre, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.0.8. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Correction de bugs et améliorations :

  • 140025210 : une nouvelle fonctionnalité de type "fail open" a été ajoutée. Cette fonctionnalité permet de poursuivre le traitement de l'API si un jeton JWT expiré ne peut pas être actualisé en raison d'une erreur de connexion qui empêche un appel de validation de clé API réussi vers le proxy edgemicro-auth.

    Cette fonctionnalité vous permet de définir un délai de grâce pendant lequel l'ancien jeton reste dans le cache et est réutilisé jusqu'à l'expiration du délai. Cette fonctionnalité permet à Edge Microgateway de continuer à traiter les requêtes en cas d'échec de connexion temporaire. Lorsque la connectivité reprend et qu'un appel de validation de clé API aboutit, un nouveau jeton JWT est récupéré et remplace l'ancien dans le cache.

    Pour configurer la nouvelle fonctionnalité de "fail open" :

    1. Définissez les propriétés suivantes dans le bloc oauth du fichier de configuration Edge Microgateway :
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      Exemple :

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

      Dans cet exemple, l'ancien jeton sera utilisé pendant 5 secondes s'il ne peut pas être actualisé en raison d'un problème de connectivité. Après cinq secondes, une erreur d'authentification est renvoyée.

  • 141168968 : Mise à jour pour inclure correlation_id dans toutes les sorties du journal du plug-in. De plus, les niveaux de journalisation de certains journaux ont été remplacés par error, si nécessaire.
  • 140193349 : le proxy edgemicro-auth a été mis à jour pour exiger que la clé et le secret Edge Microgateway doivent être vérifiés à chaque requête de vérification de clé API. Edge Microgateway a été mis à jour de manière à toujours envoyer la clé et le code secret à chaque requête "Verify API Key" (Vérifier la clé API). Cette modification empêche les clients d'obtenir un jeton JWT avec uniquement une clé API.
  • 140090250 : une mise à jour a été effectuée pour ajouter le journal de diagnostic pour le traitement des quotas. Avec cette modification, il est maintenant possible de corréler la sortie du journal quoto avec le reste des journaux Edge Microgateway.

3.0.7

Le jeudi 12 septembre, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Versions des composants:

Le tableau suivant répertorie les numéros de version des projets composants individuels associés à Edge Microgateway 3.0.7. Étant donné que chaque composant est un projet distinct, les numéros de version peuvent ne pas correspondre à la version principale du produit:

microgateway core config plug-ins edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

Correction de bugs et améliorations :

  • 140075602 : le plug-in OAuth a été mis à jour afin de renvoyer un code d'état 5xx le cas échéant. Auparavant, le plug-in ne renvoyait que les codes d'état 4xx dans tous les cas autres que 200. Désormais, pour toute réponse de message qui ne correspond pas à un état 200, le code 4xx ou 5xx exact est renvoyé, en fonction de l'erreur.

    Cette fonctionnalité est désactivée par défaut. Pour activer cette fonctionnalité, ajoutez la propriété oauth.useUpstreamResponse: true à votre configuration Edge Microgateway. Exemple :

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623 - Dans la version 3.0.6, une nouvelle propriété de configuration a été ajoutée, quota.quotaUri. Définissez cette propriété de configuration si vous souhaitez gérer les quotas via le proxy edgemicro-auth déployé dans votre organisation. Si cette propriété n'est pas définie, le point de terminaison du quota est défini par défaut sur le point de terminaison interne Edge Microgateway. Exemple :
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    Dans la version 3.0.7, edgemicro-auth a été mis à jour pour accepter cette nouvelle configuration. Pour utiliser la propriété quotaUri, vous devez passer au dernier proxy edgemicro-auth. Pour en savoir plus, consultez la section Mettre à niveau le proxy Edgemicro-auth.

  • 140470888 : Un en-tête d'autorisation a été ajouté aux appels de quota pour assurer l'authentification. En outre, le proxy edgemicro-auth a été modifié pour supprimer "organisation" de l'identifiant de quota. Étant donné que le point de terminaison du quota réside dans l'organisation du client, l'identifiant de quota n'est plus nécessaire.
  • 140823165 - Nom de la propriété suivante :
    edgemicro:
        keepAliveTimeout

    était incorrectement documentée dans la version 3.0.6. Le nom de propriété correct est:

    edgemicro:
        keep_alive_timeout
  • 139526406 - Un bug qui provoquait un décompte incorrect du quota lorsqu'une application de développement comportait plusieurs produits a été corrigé. Le quota est désormais correctement appliqué à chaque produit dans une application comportant plusieurs produits. La combinaison "appName + productName" est utilisée comme identifiant de quota.

3.0.6

Le jeudi 29 août, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

  • 138633700 – Ajout d'une propriété de configuration, keepAliveTimeout. Cette propriété vous permet de définir le délai avant expiration d'Edge Microgateway (en millisecondes). (Par défaut: 5 000 millisecondes)

    Exemple :

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 – Ajout d'une propriété de configuration, quotaUri. Définissez cette propriété de configuration si vous souhaitez gérer les quotas via le proxy edgemicro-auth déployé dans votre organisation. Si cette propriété n'est pas définie, le point de terminaison du quota est défini par défaut sur le point de terminaison interne Edge Microgateway. Exemple :
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Pour utiliser cette fonctionnalité, vous devez d'abord déployer la dernière version du proxy edgemicro-auth dans votre organisation. Pour en savoir plus, consultez la section Mettre à niveau le proxy Edgemicro-auth.

  • 138722809 – Ajout d'une propriété de configuration, stack_trace. Cette propriété vous permet de déterminer si les traces de pile apparaissent ou non dans les fichiers journaux. Exemple :
    stack_trace: false

    Si stack_trace est défini sur true, la trace de la pile est imprimée dans les journaux. S'il est défini sur false, la trace de la pile ne sera pas imprimée dans les journaux.

3.0.5

Le jeudi 15 août, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Corrections de bugs
  • 139005279 : Correction d'un problème qui empêchait la commande edgemicro status de renvoyer le bon nombre de processus de nœud de calcul.
  • 138437710 - Un problème a été résolu dans la classe ExitCounter et empêchait l'écriture du journal approprié.
Améliorations générales des messages de journal
  • 139064652 – Ajout de la possibilité d'ajouter les niveaux de journalisation trace et debug pour les journaux système et d'événements. Pour l'instant, seule la possibilité d'ajouter ces niveaux de journalisation a été ajoutée. Actuellement, les niveaux de journalisation disponibles sont info, warn et error.
  • 139064616 - La sortie du journal a été standardisée pour toutes les instructions de journalisation de la console. Les instructions de journalisation de la console incluent désormais les attributs suivants:
    • Code temporel
    • Nom du composant
    • ID du processus
    • Message de journal de la console
Améliorations apportées aux clés JWT et aux messages de journal secret
  • 138413755 - Amélioration des messages de journal liés aux secrets et aux clés JWT pour les commandes de CLI: cert, Verify, upgradekvm, token, Genkeys, "Révoquerkeys", "Rotatekey" et "configure".
Améliorations apportées aux messages d'erreur signalant un délai d'inactivité et une connexion refusée
  • 138413577 - Ajout et amélioration de la gestion des erreurs pour les délais avant expiration du service de backend.
  • 138413303 - Ajouter et améliorer la gestion des erreurs pour les délais avant expiration des réponses et des sockets.
  • 138414116 - Ajout et amélioration de la gestion des erreurs de type "connexion refusée".

3.0.4

Le jeudi 1er août, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

  • 134445926 : Améliorations apportées à l'authentification interne Edge Microgateway.
  • 137582169 – Correction d'un problème entraînant le démarrage de processus indésirables Ces processus supplémentaires entraînaient l'actualisation des plug-ins et utilisaient une mémoire excessive. Edge Microgateway maintient désormais le nombre de processus dans la limite attendue.
  • 137768774 - Améliorations des messages de journal :
    • Journaux de transactions (requêtes) nettoyés.
    • Ajout de messages de journal supplémentaires si nécessaire.
    • Déplacement des messages de journal de transaction (requête) de la sortie de la console vers le fichier journal correspondant.
    • Mise à jour des journaux de la console pour utiliser une fonction de journalisation centralisée.
  • 138321133, 138320563 : modification interne fondamentale du tampon de quota permettant de futures améliorations de quota.

3.0.3

Le mardi 23 juillet, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

  • Améliorations de la journalisation: les journaux d'exécution existants utilisent une nouvelle fonction eventLog() qui capture et consigne les données d'exécution dans un format cohérent. Les informations du journal incluent les éléments suivants :
    • Code temporel (ISO 8601: AAAA-MM-JJTHH:mm:ss.sssZ).
    • Niveau de journalisation (erreur, avertissement ou informations).
    • Nom d'hôte : nom d'hôte à l'origine de la requête dans l'en-tête de requête.
    • ID de processus : si vous exécutez un cluster de processus Node.js, il s'agit de l'ID du processus au niveau duquel la journalisation a eu lieu.
    • Nom de l'organisation Apigee.
    • Nom de l'environnement dans l'organisation.
    • Nom du proxy de l'API.
    • Adresse IP du client.
    • ClientId.
    • ID de corrélation (non défini actuellement).
    • Nom du composant Edge Microgateway.
    • Message personnalisé : certains objets peuvent imprimer des informations supplémentaires transmises à cette propriété d'erreur.
    • Méthode de requête (si requête HTTP).
    • Code d'état de la réponse (si requête HTTP).
    • Message d'erreur
    • Code d'erreur : si un objet inclut un code d'erreur, il s'affiche dans cette propriété.
    • Temps écoulé.
    • Le repère de fin de ligne du système d'exploitation.

    Les valeurs de propriété nulles renvoient des crochets vides ([]).

    L'exemple suivant illustre le format du journal:

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

    (137770055)

  • Performances: les produits d'API n'étaient pas filtrés en fonction de l'environnement. Ce problème a été résolu. (135038879)
  • Diverses intégrations de tests fonctionnels et amélioration de la qualité du code.

3.0.2

Le mercredi 3 juillet 2019, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

Qualité du code : la qualité du code a été examinée, et des modifications ont été apportées au code afin de répondre aux normes de qualité demandées par les utilisateurs. Nous avons résolu les erreurs et avertissements de qualité du code dérivés de JSHint. Certaines erreurs de code ont été identifiées et corrigées. Tous les modules Apigee Edge Microgateway ont été soumis à ce processus. Consultez les commits du 28 juin et du 2 juillet pour microgateway-config, microgateway-core, microgateway-plugins et microgateway. Tous les modules dont la qualité du code a été modifiée ont été testés avec des outils internes qui vérifient l'exécution d'Edge Microgateway pour les cas d'utilisation des clients.

3.0.1

Vendredi 21 juin 2019, nous avons publié les correctifs et améliorations suivants pour Edge Microgateway.

  • 134834551 - Modifier les versions de Node.js compatibles avec Edge Microgateway
    (versions compatibles avec Node.js: 8 et 12 ; les versions 7, 9 et 11 sont expérimentales)
  • 134751883 – Edge Microgateway plante lors du rechargement avec une charge élevée
  • 134518428 - Le point de terminaison des produits pour Edge Microgateway renvoie 5XX si le modèle de filtre est incorrect
  • 135113408 - Les nœuds de calcul doivent redémarrer s'ils s'arrêtent de manière inattendue
  • 134945852 - tokenCacheSize n'est pas utilisé dans le plug-in OAuth
  • 134947757 - définir cacheTTL dans le plug-in OAuth
  • 135445171 - Le calcul du délai de grâce dans OAuth est incorrect
  • Utilisez le module mémorisé fourni avec l'installation d'Edge Microgateway
  • 135367906 - Audit de sécurité

Version 2.5.x

Nouvelles fonctionnalités et améliorations v.2.5.x

(Corrigé de la version 2.5.38, 07/06/2019)

Les jetons JWT mal formatés peuvent entraîner le plantage des nœuds de calcul lors de l'utilisation du cache de jetons. Correction dans le module Edge microgateway-plugins. (b/134672029)

(Ajout 2.5.37) Ajoutez l'option CLI edgemicro-cert -t.

L'option edgemicro cert -t vous permet de spécifier un jeton OAuth pour authentifier les API de gestion. Consultez également la page Gérer les certificats.

(Ajout de la version 2.5.35) Prise en charge du débogage d'Edge Microgateway à l'aide de edgemicroctl.

Vous pouvez utiliser l'indicateur mgdebug avec edgemicroctl. Consultez également la page Tâches d'intégration à Kubernetes.

(Ajout 2.5.35) Activez un build Windows pour edgemicroctl.

(Ajout de la version 2.5.31) Nouvelle API edgemicro-auth/token

Ajout d'une nouvelle API edgemicro-auth/token qui vous permet de transmettre le client/code secret en tant qu'en-tête d'autorisation de base encodé en base64 et le Grant_type en tant que paramètre de formulaire. Consultez la section Obtenir directement des jetons de support.

(Corrigé 2.5.31) La configuration privée ne respecte pas l'indicateur de jeton

La configuration d'Edge Microgateway pour utiliser un jeton d'accès OAuth2 sur Edge pour le cloud privé ne fonctionnait pas correctement (le jeton n'était pas respecté). Ce problème a été résolu.

Docker: compatibilité avec l'utilisation de certificats autosignés

(Ajouté la version 2.5.29) Si vous utilisez une autorité de certification qui n'est pas approuvée par défaut par Node.js, vous pouvez utiliser le paramètre NODE_EXTRA_CA_CERTS lorsque vous exécutez un conteneur Docker avec Edge Microgateway. Pour en savoir plus, consultez Utiliser une autorité de certification non approuvée par Node.js.

Docker: Compatibilité avec TLS

(Ajout 2.5.29) Edge Microgateway s'exécutant dans un conteneur Docker est désormais compatible avec TLS pour les requêtes entrantes vers le serveur Edge Microgateway (requêtes vers le nord) et pour les requêtes sortantes depuis Edge Microgateway vers une application cible (requêtes liées au sud).

Les exemples suivants expliquent en détail comment configurer ces configurations TLS:

Dans ces exemples, vous verrez comment utiliser le point d'installation du conteneur /opt/apigee/.edgemicro pour charger les certificats, qui sont ensuite mentionnés dans le fichier de configuration Edge Microgateway.

Docker: compatibilité avec le proxy de requêtes

(Ajouté la version 2.5.27) Si vous exécutez Edge Microgateway dans un conteneur Docker, vous pouvez utiliser ces options pour contrôler le comportement du proxy lorsque la micropasserelle s'exécute derrière un pare-feu:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Pour en savoir plus, consultez Exécuter Edge Micro en tant que conteneur Docker.

Docker: instructions mises à jour pour le plug-in

(Ajout 2.5.27) Si vous exécutez Edge Microgateway dans un conteneur Docker, vous disposez désormais de deux options pour déployer des plug-ins. Une nouvelle option consiste à utiliser un point d'installation Docker. L'autre option existait auparavant, mais elle n'a pratiquement pas changé. Cependant, le Dockerfile a été mis à jour. Pour en savoir plus, consultez les liens suivants:

Prise en charge des jetons OAuth pour la commande de mise à niveau KVM

(Ajout 2.5.27) Vous pouvez utiliser un jeton OAuth avec la commande upgradekvm. Pour en savoir plus, consultez la section Mettre à niveau le KVM.

Ségréger des API dans Edge Analytics

(Ajouté la version 2.5.26) Les nouveaux indicateurs de plug-in d'analyse vous permettent de séparer un chemin d'API spécifique afin qu'il apparaisse comme un proxy distinct dans les tableaux de bord Edge Analytics. Par exemple, vous pouvez séparer les API de vérification de l'état pour éviter de les confondre avec des appels d'API réels. Pour en savoir plus, consultez la section Exclure des chemins d'analyse.

Configurer un proxy local

(Ajouté la version 2.5.25) Avec un proxy local, vous n'avez pas besoin de créer manuellement un proxy compatible avec les micropasserelles sur Apigee Edge. À la place, la micropasserelle utilise le chemin de base du proxy local. Pour en savoir plus, consultez la section Utiliser le mode proxy local.

Utiliser le mode autonome

(Ajouté la version 2.5.25) Vous pouvez exécuter Edge Microgateway complètement déconnecté de toute dépendance Apigee Edge. Ce scénario, appelé mode autonome, vous permet d'exécuter et de tester Edge Microgateway sans connexion Internet. Consultez la section Exécuter Edge Microgateway en mode autonome.

Révocation de clés

(Ajouté la version 2.5.19) Une nouvelle commande CLI qui révoque les identifiants de clé et de secret pour une configuration Edge Microgateway a été ajoutée.

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Pour en savoir plus, consultez Révoquer des clés.

Compatibilité avec Docker

(Ajouté la version 2.5.19) Vous pouvez désormais télécharger la dernière version d'Edge Microgateway en tant qu'image Docker:

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

Compatibilité avec Kubernetes

(Ajouté la version 2.5.19) Vous pouvez déployer Edge Microgateway en tant que service ou en tant que passerelle side-car avant les services déployés dans un cluster Kubernetes. Consultez la page Présentation de l'intégration d'Edge Microgateway à Kubernetes.

Compatibilité avec l'option de configuration de nœuds TCP

(Ajout 2.5.16) Un nouveau paramètre de configuration, nodelay, a été ajouté à la configuration Edge Micro.

Par défaut, les connexions TCP utilisent l'algorithme Nagle pour mettre les données en mémoire tampon avant de les envoyer. Si vous définissez nodelay sur true, ce comportement est désactivé (les données sont immédiatement déclenchées chaque fois que socket.write() est appelé). Pour en savoir plus, consultez également la documentation Node.js.

Pour activer nodelay, modifiez le fichier de configuration Edge Micro comme suit:

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

Nouvelles options de CLI pour une surveillance permanente

(Ajout 2.5.12) De nouveaux paramètres ont été ajoutés à la commande edgemicro forever. Ces paramètres vous permettent de spécifier l'emplacement du fichier forever.json et de démarrer ou d'arrêter le processus permanent en arrière-plan. Consultez également la section Surveillance ininterrompue.

ParamètresDescription
-f, --fileSpécifie l'emplacement du fichier forever.json.
-a, --actionstart ou stop. La valeur par défaut est "start".

Exemples :

Pour lancer l'action indéfiniment:

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

Pour arrêter indéfiniment:

edgemicro forever -a stop

Rotation des clés JWT

Une nouvelle fonctionnalité a été ajoutée pour vous permettre d'alterner les paires de clés publiques/privées permettant de générer les jetons JWT utilisés pour la sécurité OAuth sur Edge Microgateway. Consultez la section Faire pivoter des clés JWT.

Filtrer les proxys d'API téléchargés

Par défaut, Edge Microgateway télécharge tous les proxys de votre organisation Edge qui commencent par le préfixe de nom "edgemicro_". Vous pouvez modifier cette valeur par défaut pour télécharger les proxys dont les noms correspondent à un modèle. Consultez la section Filtrer les proxys téléchargés.

Spécifier des produits sans proxy d'API

Dans Apigee Edge, vous pouvez créer un produit d'API qui ne contient aucun proxy d'API. Cette configuration de produit permet à une clé API associée à ce produit de fonctionner avec n'importe quel proxy déployé dans votre organisation. Depuis la version 2.5.4, Edge Microgateway est compatible avec cette configuration de produit.

Compatibilité avec une surveillance permanente

Edge Microgateway comporte un fichier forever.json que vous pouvez configurer pour contrôler le nombre de redémarrages et l'intervalle d'intervalle. Ce fichier configure un service appelé forever-monitor, qui gère Forever de manière programmatique. Consultez la section Surveillance permanente.

Gestion centralisée du fichier de configuration Edge Micro

Si vous exécutez plusieurs instances Edge Microgateway, vous pouvez gérer leurs configurations à partir d'un seul emplacement. Pour ce faire, spécifiez un point de terminaison HTTP où Edge Micro peut télécharger son fichier de configuration. Consultez la section Spécifier un point de terminaison de fichier de configuration.

Compatibilité avec l'option de CLI permanente

(Ajout 2.5.8) Utilisez la commande edgemicro forever [package.json] pour spécifier l'emplacement du fichier forever.json. Avant l'ajout de cette commande, le fichier de configuration devait se trouver dans le répertoire racine d'Edge Microgateway.

Exemple :

edgemicro forever ~/mydir/forever.json

Ajout de l'option "configUrl" à la commande d'actualisation

(Ajout 2.5.8) Vous pouvez désormais utiliser l'option --configUrl ou -u avec la commande edgemicro reload.

Délai de grâce pour les écarts de temps JWT

(Ajout 2.5.7) Un attribut gracePeriod dans la configuration OAuth permet d'éviter les erreurs causées par de légères différences entre l'horloge système et les heures "Pas avant" (nbf) ou "Émission" (iat) spécifiées dans le jeton d'autorisation JWT. Définissez cet attribut sur le nombre de secondes pour tenir compte de ces écarts. Consultez la section Attributs OAuth.

(Ajout 2.5.7) Un attribut gracePeriod dans la configuration OAuth permet d'éviter les erreurs causées par de légères différences entre l'horloge système et les heures "Pas avant" (nbf) ou "Émission" (iat) spécifiées dans le jeton d'autorisation JWT. Définissez cet attribut sur le nombre de secondes pour tenir compte de ces écarts. Consultez la section Attributs OAuth.

Bugs corrigés dans la version 2.5.x

  • (Problème n° 236) Correction d'une faute de frappe lors du vidage du cache.
  • (Problème n° 234) Rechargez les plantages pour Edge Microgateway 2.5.35.
  • (Problème n° 135) Erreur de référence d'hôte virtuel non valide "sécurisée" lors de l'utilisation de l'option -v. Ce correctif modifie le proxy Edgemicro-auth avant le déploiement pour s'assurer que les hôtes virtuels correspondent exactement à ce qui est spécifié dans l'indicateur "-v". De plus, vous pouvez spécifier n'importe quel nombre et n'importe quel nom pour l'hôte virtuel (il n'est plus limité aux valeurs par défaut et sécurisées).
  • (Problème n° 141) La commande edgemicro reload n'est pas compatible avec l'option de fichier de configuration -c. Ce problème a été résolu.
  • (Problème n° 142) Edge Microgateway se plaint de cryptos obsolètes au moment de l'installation. Ce problème a été résolu.
  • (Problème n° 145) Le quota ne fonctionne pas avec Edge Microgateway. Ce problème a été résolu.
  • (Problème de la communauté Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-Two-api-proxies-a.html#answer-33336) Jeton JWT validé par rapport aux proxys d'API et à l'URI de ressource dans OAUTH. Ce problème a été résolu.
  • (Problème avec la communauté Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway ne fonctionne pas avec OAuth. Ce problème a été résolu.
  • Correction du pidPath sous Windows.
  • (Problème n° 157) Le problème qui entraînait le message d'erreur suivant a été résolu : ReferenceError: deployProxyWithPassword non défini.
  • (Problème n° 169) Mise à jour des dépendances Node.js (audit npm)
  • Le proxy edgemicro-auth utilise désormais les règles JWT Edge. Le proxy ne dépend plus de Node.js pour assurer la compatibilité avec les jetons JWT.

Version 2.4.x

Nouvelles fonctionnalités et améliorations v.2.4.x

1. Définir un alias personnalisé pour le proxy Edgemicro-auth (PR 116)

Vous pouvez modifier le chemin de base par défaut du proxy edgemicro-auth. Par défaut, le chemin de base est /edgemicro-auth. Pour le modifier, utilisez l'indicateur -x sur la commande edgemicro configure.

Exemple :

edgemicro configure -x /mypath …


2. Compatibilité des caractères génériques avec les chemins de base (PR 77)

Vous pouvez utiliser un ou plusieurs caractères génériques "*" dans le chemin de base d'un proxy edgemicro_*. Par exemple, un chemin de base de /team/*/members permet aux clients d'appeler https://[host]/team/blue/members et https://[host]/team/green/members sans avoir à créer de proxys d'API pour prendre en charge les nouvelles équipes. Notez que /**/ n'est pas pris en charge.

Important:Apigee ne permet PAS l'utilisation du caractère générique "*" comme premier élément d'un chemin de base. Par exemple, ceci n'est PAS accepté: /*/search.

3. Chemin de configuration personnalisé ajouté à la CLI pour la configuration du Private Cloud (PR 99)

Par défaut, le fichier de configuration de la micro-passerelle se trouve dans ./config/config.yaml. Sur les commandes init, configure et start, vous pouvez désormais spécifier un chemin d'accès à la configuration personnalisé dans la ligne de commande à l'aide des indicateurs -c ou --configDir. Correction d'un problème qui empêchait de reconnaître un répertoire de configuration personnalisé pour les installations de cloud privé.

Exemple :

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

4. Respectez les variables *_PROXY (PR 61).

Si Edge Microgateway est installé derrière un pare-feu et ne peut pas communiquer avec Apigee Edge dans le cloud public, vous pouvez envisager deux options:

Option 1 :

La première option consiste à définir l'option "edgemicro: proxy_tunnel" sur "true" dans le fichier de configuration de microgateway:

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

Lorsque proxy_tunnel est défini sur true, Edge Microgateway utilise la méthode HTTP CONNECT pour tunneliser les requêtes HTTP via une seule connexion TCP. Il en va de même si les variables d'environnement permettant de configurer le proxy sont activées avec le protocole TLS.

Option 2 :

La deuxième option consiste à spécifier un proxy et à définir le tunnel proxy_tunnel sur false dans le fichier de configuration de la micro-passerelle. Exemple :

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

Dans ce cas, vous pouvez définir les variables suivantes pour contrôler les hôtes de chaque proxy HTTP que vous souhaitez utiliser ou quels hôtes ne doivent pas gérer les proxys Edge Microgateway : HTTP_PROXY, HTTPS_PROXY et NO_PROXY. Vous pouvez définir NO_PROXY en tant que liste de domaines séparés par une virgule vers lesquels Edge Microgateway ne doit pas se servir d'un proxy. Exemple :

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

Pour en savoir plus sur ces variables, consultez les pages suivantes:

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


5. Définir un délai d'inactivité personnalisé pour les requêtes cibles (PR 57)

Vous pouvez définir un délai d'expiration personnalisé pour les requêtes cibles à l'aide de la configuration suivante:

edgemicro:
    request_timeout: 10

Le délai avant expiration est défini en secondes. En cas d'expiration du délai, Edge Microgateway répond avec un code d'état 504.

6. Respect des messages d'état HTTP personnalisés sur la réponse cible (PR 53).

Edge Microgateway respecte les messages d'état HTTP personnalisés définis sur la réponse cible. Dans les versions précédentes, les messages d'état envoyés depuis la cible étaient remplacés par les valeurs par défaut de Node.js.

7. L'en-tête X-Forwarded-For peut définir l'adresse client_ip à des fins d'analyse

Si l'en-tête X-Forwarded-For est présent, la variable client_ip indiquée dans Edge Analytics est définie. Cette fonctionnalité vous permet de connaître l'adresse IP du client qui a envoyé une requête à Edge Microgateway.

8. Modifications du plug-in OAuth

Le plug-in OAuth prend en charge la validation des clés API et des jetons d'accès OAuth. Avant cette modification, le plug-in acceptait ces deux types de sécurité. Avec cette modification, vous ne pouvez autoriser qu'un seul de ces modèles de sécurité (tout en maintenant la rétrocompatibilité).

Les plug-ins OAuth ajoutent deux indicateurs:

  • allowOAuthOnly : si ce paramètre est défini sur true, chaque API doit comporter un en-tête d'autorisation avec un jeton d'accès de support.

  • allowAPIKeyOnly : si ce paramètre est défini sur true, chaque API doit comporter un en-tête x-api-key (ou un emplacement personnalisé) avec une clé API.

Vous définissez ces indicateurs dans le fichier de configuration Edge Microgateway de la manière suivante:

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

9. Amélioration du proxy Edgemicro-auth (PR 40)

Le proxy edgemicro-auth a été amélioré. Avant ces modifications, le proxy stockait des clés dans Edge Secure Store, un coffre-fort chiffré. À présent, le proxy stocke les clés dans le mappage clé-valeur (KVM) chiffré d'Edge.

10. Réécrire l'URL cible par défaut dans un plug-in (PR 74)

Vous pouvez également ignorer le port du point de terminaison cible et choisir entre HTTP et HTTPS. Modifiez ces variables dans le code de votre plug-in: req.targetPort et req.targetSecure. Pour choisir HTTPS, définissez req.targetSecure sur true ; pour HTTP, définissez-le sur false. Si vous définissez req.targetSecure sur "true", consultez ce fil de discussion pour en savoir plus.

11. Compatibilité initiale avec l'authentification par jeton OAuth (PR 125)

Vous pouvez configurer Edge Microgateway afin d'utiliser un jeton OAuth pour l'authentification au lieu du nom d'utilisateur/mot de passe. Pour utiliser un jeton OAuth, utilisez le paramètre suivant dans la commande edgemicro configure:

-t, --token <token>

Exemple :

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

Bugs corrigés dans la version 2.4.3

  • Correction d'un problème pour lequel une organisation payante était requise pour exécuter correctement le proxy Edgemicro-auth. Désormais, vous pouvez également utiliser Edge Microgateway avec des organisations d'essai. (PR 5)
  • Correction d'un problème où le flux n'était pas terminé de traiter les données, mais les gestionnaires de fin s'exécutaient quand même. Cela a entraîné l'envoi d'une réponse partielle. (PR 71)
  • Correction d'un problème qui empêchait de reconnaître un répertoire de configuration personnalisé pour les installations de cloud privé. (PR 110)
  • Correction d'un problème de SSL bidirectionnel entre le client et Edge Microgateway. (PR 70)
  • Correction d'un problème où une barre oblique finale était requise dans le chemin de base du proxy pour que la vérification des clés API fonctionne correctement. Il n'est pas nécessaire d'insérer une barre oblique à la fin du chemin de base. (PR 48)

Version 2.3.5

Nouvelles fonctionnalités et améliorations version 2.3.5

Filtrage par proxy

Vous pouvez filtrer les proxys compatibles avec la micro-passerelle qu'une instance Edge Microgateway traitera. Au démarrage d'Edge Microgateway, il télécharge tous les proxys compatibles avec les micro-passerelles dans l'organisation à laquelle il est associé. Utilisez la configuration suivante pour limiter les proxys traités par la micropasserelle. Par exemple, cette configuration limite le nombre de proxys traités par la micropasserelle à trois: edgemicro_proxy-1, edgemicro_proxy-2 et edgemicro_proxy-3:

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

Masquage des données Analytics

Une nouvelle configuration vous permet d'empêcher l'affichage des informations de chemin de requête dans les analyses Edge. Ajoutez le code suivant à la configuration de la micropasserelle pour masquer l'URI et/ou le chemin de la requête. Notez que l'URI se compose des parties nom d'hôte et chemin d'accès de la requête.

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

Version 2.3.3

Nouvelles fonctionnalités et améliorations version 2.3.3

Voici les nouvelles fonctionnalités et améliorations de cette version.

Désactiver la détection de modifications automatiques

Vous pouvez désactiver l'interrogation de modifications automatiques en définissant cet attribut dans la configuration de la micro-passerelle:

disabled_config_poll_interval: true

Par défaut, l'interrogation périodique récupère toutes les modifications apportées à Edge (modifications apportées aux produits, aux proxys compatibles avec les micropasserelles, etc.) ainsi que les modifications apportées au fichier de configuration local. L'intervalle d'interrogation par défaut est de 600 secondes (cinq minutes).

Réécrire les URL cibles dans les plug-ins

Vous pouvez remplacer dynamiquement l'URL cible par défaut dans un plug-in en modifiant ces variables dans le code de votre plug-in: req.targetHostname et req.targetPath.

Nouvelle signature de la fonction du plug-in

Une signature de fonction du plug-in a été ajoutée pour fournir la réponse cible en tant qu'argument. Cet ajout facilite l'accès des plug-ins à la réponse cible.

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

Sortie de journalisation par défaut simplifiée

Par défaut, le service de journalisation omet désormais le JSON des proxys, des produits et des jetons JWT téléchargés. Vous pouvez utiliser la valeur par défaut pour générer ces objets en définissant DEBUG=* lorsque vous démarrez Edge Microgateway. Exemple :

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

Chemin de configuration personnalisé ajouté à la CLI

Par défaut, le fichier de configuration de microgateway se trouve dans ./config/config.yaml. Dans les commandes init, configure et start, vous pouvez désormais spécifier un chemin d'accès à la configuration personnalisé sur la ligne de commande. Exemple :

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

Bugs corrigés dans la version 2.3.3

  • Correction d'une fuite de mémoire qui se produisait lors de requêtes/réponses volumineuses.
  • L'ordre d'exécution du plug-in a été corrigé. Elle se comporte désormais comme expliqué dans la documentation.
  • Le plug-in d'accumulation de requêtes de plug-in ne se bloque plus pour les requêtes GET.
  • Un problème a été résolu dans le plug-in d'accumulation de réponses : l'absence de corps de réponse provoquait des erreurs.

Version 2.3.1

Remarque concernant l'installation

Certaines versions précédentes d'Edge Microgateway vous permettent d'installer le logiciel en téléchargeant un fichier ZIP. Ces fichiers ZIP ne sont plus acceptés. Pour installer Edge Microgateway, vous devez utiliser:

npm install -g edgemicro

Pour en savoir plus, consultez la rubrique d'installation.

Nouvelles fonctionnalités et améliorations version 2.3.1

Voici les nouvelles fonctionnalités et améliorations de cette version.

Filtrer les proxys

Une nouvelle configuration vous permet de filtrer les proxys qu'Edge Microgateway se chargera de charger au démarrage. Auparavant, la micropasserelle chargeait tous les proxys compatibles avec la micro-passerelle (proxys nommés bordmicro_*) extraits de l'organisation ou de l'environnement Edge que vous avez spécifiés dans la commande "config" d'edgemicro. Cette nouvelle fonctionnalité vous permet de filtrer cette liste de proxys afin qu'Edge Microgateway ne charge que ceux que vous spécifiez. Ajoutez simplement l'élément proxyies au fichier de configuration de la micro-passerelle comme suit:

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

Par exemple, supposons que vous ayez 50 proxys edgemicro_* dans votre organisation/env Edge, y compris ceux nommés edgemicro_foo et edgemicro_bar. Vous pouvez indiquer à la micropasserelle d'utiliser uniquement ces deux proxys comme suit:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Au démarrage, la micropasserelle ne pourra appeler que les proxys spécifiés. Toute tentative d'appel d'autres proxys compatibles avec les micro-passerelles téléchargées à partir de l'organisation ou de l'environnement de périphérie entraîne une erreur.

Définir des en-têtes de requêtes cibles dans les plug-ins

Il existe deux modèles de base à prendre en compte si vous souhaitez ajouter ou modifier des en-têtes de requête cibles : un où la requête entrante contient des données (comme dans une requête POST) et un où ce n'est pas le cas (comme dans une requête GET simple).

Imaginons que la requête entrante contienne des données et que vous souhaitiez définir des en-têtes de requête sur la requête cible. Dans les versions précédentes d'Edge Microgateway, il n'était pas possible de définir les en-têtes cibles de manière fiable dans ce cas.

La clé de ce modèle consiste d'abord à accumuler toutes les données entrantes du client. Ensuite, dans la fonction onend_request(), utilisez la nouvelle fonction request.setOverrideHeader(name, value) pour personnaliser les en-têtes.

Voici un exemple de code de plug-in montrant comment procéder. Les en-têtes définis dans onend_request sont envoyés à la cible:

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);
    }

  };

}

Si la requête n'inclut pas de données, vous pouvez définir des en-têtes cibles dans le gestionnaire onrequest(). Ce modèle n'est pas nouveau. Il a été documenté précédemment et a été utilisé dans les exemples de plug-ins fournis avec Edge Microgateway.

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

Fonctionnalité d'actualisation sans temps d'arrêt

Après avoir modifié la configuration d'Edge Microgateway, vous pouvez la charger sans supprimer de messages. Avec cette modification, Edge Microgateway démarre toujours en mode cluster et l'option --cluster a été supprimée de la commande edgemicro start.

Trois nouvelles commandes CLI ont également été ajoutées. Vous devez exécuter les commandes suivantes à partir du répertoire dans lequel la commande Edgemicro start a été exécutée:

  • edgemicro status : vérifie si Edge Microgateway est en cours d'exécution ou non.
  • edgemicro stop : arrête le cluster Edge Microgateway.
  • edgemicro reload : recharge la configuration Edge Microgateway sans temps d'arrêt.

Actualisation automatique de la configuration sans temps d'arrêt

Edge Microgateway charge régulièrement une nouvelle configuration et exécute une actualisation si quelque chose a changé. L'interrogation récupère toutes les modifications apportées à Edge (modifications apportées aux produits, aux proxys compatibles avec les micropasserelles, etc.) ainsi que les modifications apportées au fichier de configuration local. L'intervalle d'interrogation par défaut est de 600 secondes (cinq minutes). Vous pouvez modifier la valeur par défaut dans le fichier de configuration de la micro-passerelle comme suit:

edgemicro:
    config_change_poll_interval: [seconds]

Ajout d'informations de version à la CLI

Un indicateur --version a été ajouté à la CLI. Pour obtenir la version actuelle d'Edge Microgateway, utilisez:

edgemicro --version

Options SSL du serveur Edge Microgateway

Edge Microgateway est désormais compatible avec les options SSL de serveur suivantes, en plus de key et cert:

Option Description
pfx Chemin d'accès à un fichier pfx contenant la clé privée, le certificat et les certificats CA du client au format PFX.
passphrase Chaîne contenant la phrase secrète de la clé privée ou PFX.
ca Chemin d'accès à un fichier contenant une liste de certificats de confiance au format PEM.
ciphers Chaîne décrivant les algorithmes de chiffrement à utiliser, séparés par le caractère ":".
rejectUnauthorized Si la valeur est "true", le certificat du serveur est vérifié par rapport à la liste des autorités de certification fournies. Si la validation échoue, une erreur est renvoyée.
secureProtocol Méthode SSL à utiliser. Par exemple, SSLv3_method pour forcer SSL à utiliser la version 3.
servername Nom du serveur pour l'extension TLS SNI (Server Name Indication).

Envoyer les fichiers journaux à stdout

Vous pouvez envoyer les données des journaux vers la sortie standard à l'aide d'un nouveau paramètre de configuration:

edgemicro:
  logging:
    to_console: true  

Consultez la section Gérer les fichiers journaux.

Version 2.1.2

Voici les nouvelles fonctionnalités et améliorations de cette version.

Autoriser le point de terminaison personnalisé de l'API pour la configuration

Il existe de nouveaux points de terminaison configurables pour le proxy d'autorisation, qui permettent d'utiliser un service d'authentification personnalisé. Ces points de terminaison sont les suivants:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Pour en savoir plus, consultez Utiliser un service d'authentification personnalisé.

Version 2.1.1

Voici les nouvelles fonctionnalités et améliorations de cette version.

Déployer un proxy d'authentification compatible avec plusieurs plates-formes

Une amélioration a été apportée afin que la commande utilisée pour déployer le proxy d'autorisation Edge Microgateway sur Edge soit compatible avec les systèmes Windows.

Version 2.1.0

Nouvelles fonctionnalités et améliorations version 21.0

Voici les nouvelles fonctionnalités et améliorations:

Spécifier les options SSL/TLS du client

Vous pouvez spécifier des options client pour les connexions SSL/TSL aux cibles à l'aide d'un nouvel ensemble d'options de configuration. Consultez la section Utiliser les options SSL/TSL du client.

Version 2.0.11

Note d'installation v2.0.11

Certaines versions précédentes d'Edge Microgateway vous permettent d'installer le logiciel en téléchargeant un fichier ZIP. Ces fichiers ZIP ne sont plus acceptés. Pour installer Edge Microgateway, vous devez utiliser:

npm install -g edgemicro

Pour en savoir plus, consultez la rubrique d'installation.

Nouvelles fonctionnalités et améliorations v.2.0.11

Voici les nouvelles fonctionnalités et améliorations:

Spécifier un port au démarrage

La commande start vous permet de spécifier un numéro de port pour remplacer celui spécifié dans le fichier de configuration. Vous pouvez également spécifier un numéro de port à l'aide de la variable d'environnement PORT. Consultez la section Commande start pour plus de détails.

Conserver les en-têtes d'authentification (facultatif)

Un nouveau paramètre de configuration, keepAuthHeader, vous permet de conserver l'en-tête d'autorisation envoyé dans la requête. S'il est défini sur "true", l'en-tête d'authentification est transmis à la cible. Consultez la section Attributs OAuth.

Possibilité d'utiliser un service d'autorisation personnalisé

Si vous souhaitez utiliser votre propre service personnalisé pour gérer l'authentification, modifiez la valeur authUri dans le fichier de configuration Edge Microgateway pour qu'elle pointe vers votre service. Pour en savoir plus, consultez Utiliser un service d'authentification personnalisé.

Version 2.0.4

La version 2.0.4 d'Edge Microgateway a été publiée le 25 mai 2016.

Nouvelles fonctionnalités et améliorations v2.0.4

Voici les nouvelles fonctionnalités et améliorations de cette version.

Compatibilité avec les chemins d'accès aux ressources dans les produits

Edge Microgateway est désormais compatible avec les chemins d'accès aux ressources dans les produits. Les chemins d'accès aux ressources vous permettent de restreindre l'accès aux API en fonction du suffixe du chemin du proxy. Pour en savoir plus sur la création de produits et la configuration des chemins d'accès aux ressources, consultez Créer des produits API.

Compatibilité avec l'installation globale de npm

Vous pouvez maintenant installer Edge Microgateway à l'aide de l'option npm -g (global). Pour en savoir plus sur cette option, consultez la documentation npm.

Version 2.0.0

Edge Microgateway v2.0.0 a été publié le 18 avril 2016.

Nouvelles fonctionnalités et améliorations v.2.0.0

Voici les nouvelles fonctionnalités et améliorations de cette version.

Serveur de processus unique

Edge Microgateway est désormais un serveur de processus unique. Il n'utilise plus un modèle à deux processus dans lequel un processus (anciennement appelé "agent") lance Edge Microgateway, le second processus. La nouvelle architecture facilite l'automatisation et la conteneurisation.

Fichiers de configuration en espace de noms

Les fichiers de configuration sont désormais associés à un espace de noms à l'aide de l'organisation et de l'environnement, de sorte que plusieurs instances de Microgateway peuvent s'exécuter sur le même hôte. Vous trouverez les fichiers de configuration dans ~/.edgemicro après avoir exécuté la commande de configuration Edge Microgateway.

Nouvelles variables d'environnement

Il existe maintenant quatre variables d'environnement: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY et EDGEMICRO_SECRET. Si vous définissez ces variables sur votre système, vous n'avez pas besoin de spécifier leurs valeurs lorsque vous utilisez l'interface de ligne de commande (CLI) pour configurer et démarrer Edge Microgateway.

Configuration en cache

Edge Microgateway utilise un fichier de configuration mis en cache s'il redémarre sans connexion à Apigee Edge.

Mode du cluster

Des options permettent désormais de démarrer Edge Microgateway en mode cluster. Le mode cluster vous permet de tirer parti des systèmes multicœurs. La microgateway utilise le module de cluster Node.js pour cette fonctionnalité. Pour en savoir plus, consultez la documentation Node.js.

Bugs corrigés dans la version 2.0.0

Le cycle de vie des événements de plug-in gère désormais correctement le code asynchrone contenant du code avec un nouveau rappel.

Version 1.1.2

La version 1.1.2 d'Edge Microgateway a été publiée le 14 mars 2016.

Nouvelles fonctionnalités et améliorations v.1.1.2

Voici les nouvelles fonctionnalités et améliorations de cette version.

Amélioration des performances

Edge Microgateway utilise désormais correctement l'agent HTTP Node.js pour améliorer le regroupement des connexions. Cette amélioration améliore les performances et la stabilité globale en cas de charge élevée.

Compatibilité avec le débogueur distant

Vous pouvez configurer Edge Microgateway pour qu'il s'exécute avec un débogueur distant, tel que node-inspector.

Nouvel emplacement pour le fichier de configuration

Lorsque vous configurez Edge Microgateway, le fichier agent/config/default.yaml est maintenant copié dans ~./edgemicro/config.yaml.

Rotation des fichiers journaux

Un nouvel attribut de configuration vous permet de spécifier un intervalle de rotation pour les journaux Edge Microgateway.

Bugs corrigés dans la version 1.1.2

Les bugs suivants ont été corrigés dans la version 1.1.2.

Description
L'appel Java pour le proxy interne Edgemicro utilisé avec Edge sur site utilise désormais le serveur MGMT droit.
Supprimez les dépendances Typescript de l'agent.
Correction d'un bug de la CLI lors de l'utilisation de l'option de déploiement allégée.
Correction de la référence sur les dépendances de la logique de certification.