Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
Version 3.3.x
Correction de bugs et améliorations v.3.3.x
3.3.5
Le vendredi 20 décembre 2024, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.3.5. Notez que, comme 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.5 | 3.3.5 | 3.3.5 | 3.3.5 | 3.2.2 |
Correction de bugs et améliorations:
ID du problème | Type | Description |
---|---|---|
383024578 | Fonctionnalité |
Nous avons ajouté la compatibilité avec la version 22 de Node.js et supprimé la compatibilité avec la version 16. Si vous utilisez Node.js v18, la micro passerelle Edge affiche le message d'erreur suivant au démarrage: current nodejs version is 18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0 Si vous exécutez une version antérieure de Node.js, le message d'erreur suivant s'affiche: You are using a version of NodeJS that is not supported |
Correction de problèmes de sécurité
- CVE-2024-21538
- CVE-2024-45590
- CVE-2019-3844
- CVE-2019-12290
- CVE-2020-1751
- CVE-2018-12886
- CVE-2023-50387
- CVE-2019-3843
- CVE-2022-4415
- CVE-2021-3997
Correction de bugs et améliorations v.3.3.x
3.3.4
Le 18 septembre 2024, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.3.4. Notez que, comme 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.4 | 3.3.4 | 3.3.4 | 3.3.4 | 3.2.2 |
Correction de bugs et améliorations:
ID du problème | Type | Description |
---|---|---|
675987751 | Bug |
Correction d'un problème qui empêchait la micro passerelle Edge de consigner les adresses IP des clients. |
Correction de problèmes de sécurité
- CVE-2021-23337
- CVE-2024-4068
- CVE-2020-28469
- CVE-2020-28503
3.3.3
Le 25 avril 2024, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.3.3. Notez que, comme 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.3 | 3.3.3 | 3.3.3 | 3.3.3 | 3.2.2 |
Correction de bugs et améliorations:
ID du problème | Type | Description |
---|---|---|
315939218 | Supprimée |
Le plug-in client Eureka a été supprimé de la micro-passerelle Edge. La suppression de cette fonctionnalité n'a aucune incidence sur la fonctionnalité de base de la micro passerelle Edge ni sur la réécriture des URL cibles. Pour en savoir plus, consultez Réécrire les URL cibles dans les plug-ins. |
283947053 | Supprimée |
La prise en charge de |
Correction de problèmes de sécurité
- CVE-2023-0842
- CVE-2023-26115
- CVE-2022-25883
- CVE-2017-20162
- CVE-2022-31129
- CVE-2022-23539
- CVE-2022-23541
- CVE-2022-23540
- CVE-2024-21484
- CVE-2022-46175
- CVE-2023-45133
- CVE-2020-15366
- CVE-2023-26136
- CVE-2023-26115
3.3.2
Le 18 août 2023, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.3.2. Notez que, comme 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 | Fonctionnalité |
Les versions de Node.js compatibles incluent: 16, 18 et 20. À partir de la version 3.3.2, les commandes de la CLI de la micro passerelle Edge ne fonctionneront que sur les versions compatibles. L'exécution de commandes CLI sur des versions non compatibles génère une erreur. Consultez également la section Logiciels et versions compatibles avec Apigee. |
283947053 | Bug |
Un problème a été résolu, qui consistait à ce que la micro passerelle Edge renvoie le premier produit d'API de la liste des produits d'API associés à une application. Nous déterminons désormais le produit d'API approprié à renvoyer en fonction de la requête. |
274443329 | Bug |
Un problème a été résolu, qui consistait à ce que Docker extrait une version obsolète de l'image.
La version du nœud Docker a été mise à jour vers Node.js version 18. Nous allons maintenant créer l'image Docker avec la version |
Correction de problèmes de sécurité
Aucune.
3.3.1
Le 7 juin 2022, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.3.1. Notez que, comme 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 | Fonctionnalité |
La version 16 de Node.js est désormais prise en charge. |
231972608 | Bug |
Correction d'un problème où la commande |
233315475 | Bug |
Correction d'un problème qui entraînait une erreur d'analyse lors de la transformation de la réponse JSON en XML et lors de l'utilisation du plug-in |
221432797 | Modifier |
La version Docker Node.js de l'image de base de la micro-passerelle Edge a été mise à niveau vers Node.js 14. |
215748732 | Fonctionnalité |
La commande revokekeys est désormais compatible avec l'authentification par jeton SAML.
Vous pouvez désormais transmettre un jeton SAML au lieu d'identifiants nom d'utilisateur et mot de passe à l'aide de l'option Pour en savoir plus, consultez la documentation de référence de 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 compatibles stockés sur GitHub. Consultez la section Plug-ins existants groupés avec Edge Microgateway. |
Correction de problèmes de sécurité
ID du problème | Description |
---|---|
CVE-2021-23413 | Cela affecte le package jszip avant la version 3.7.0. La création d'un fichier ZIP avec des noms de fichiers définis sur des 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 corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.3.0. Notez que, comme 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 | La version 3.3.0 de la passerelle Edge Microgateway n'est pas compatible avec la commande npm audit fix.
L'exécution de
Si vous exécutez
Pour résoudre le problème, exécutez la commande suivante afin de restaurer la version correcte de npm install apigeetool@0.15.1 Ce problème sera résolu dans une prochaine version de la micro passerelle Edge. |
138622990 | Fonctionnalité |
Un nouveau flag pour le plug-in Quota, |
192534424 | Bug |
Le problème a été résolu : le code de réponse affiché dans les données analytiques Apigee ne correspondait pas au code de réponse de la micro-passerelle Edge. |
198986036 | Optimisation | La micro passerelle Edge récupère désormais la clé publique d'un fournisseur d'identité (IDP) à chaque intervalle d'interrogation et met également à jour la clé au cas où la clé publique de l'IDP changerait.
Auparavant, le plug-in extauth ne pouvait pas mettre à jour la clé publique sans recharger la micro-passerelle Edge si la clé publique d'un IDP avait changé.
|
168713541 | Bug |
La documentation a été améliorée pour expliquer comment configurer TLS/SSL pour plusieurs cibles. Consultez Utiliser les options SSL/TLS du client. |
171538483 | Bug |
La documentation a été modifiée pour corriger la convention d'attribution de noms aux fichiers journaux. Consultez la section Conventions d'attribution de noms aux fichiers journaux. |
157908466 | Bug |
La documentation a été modifiée pour expliquer correctement comment installer une version spécifique d'Edge Microgateway. Consultez Mettre à niveau Edge Microgateway si vous disposez d'une connexion Internet. |
215748427 | Bug | Un problème a été résolu, où la commande revokekeys 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 pages 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 la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.2.3. Notez que, comme 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 | Fonctionnalité |
L'attribut de configuration |
192799989 | Fonctionnalité |
L'attribut de configuration |
148062415 | Bug | Correction d'un problème dans lequel, dans un contexte de conteneur Docker, la micro-passerelle Edge ne s'arrêtait pas correctement avec la commande docker stop {containerId} . 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 | Correction d'un problème qui entraînait le blocage de certaines requêtes lors de l'activité de rechargement interne de la micro passerelle. Ce problème était intermittent et se produisait en cas de trafic élevé.
Le problème est apparu lorsque les fonctionnalités tokenCache et cacheKey du plug-in OAuth ont été utilisées.
|
183910111 | Bug | Correction d'un problème dans lequel une URL de chemin de ressource avec une barre oblique finale était interprétée de manière incorrecte comme un chemin de ressource distinct. Par exemple, les chemins /country/all et /country/all/ sont interprétés comme le même chemin. |
Correction de problèmes de sécurité
ID du problème | Description |
---|---|
CVE-2020-28503 | Les versions antérieures à 2.0.5 du package copy-props sont vulnérables à la pollution de prototype via la fonctionnalité principale. |
CVE-2021-23343 | Toutes les versions de l'analyse du chemin d'accès au package sont vulnérables au déni de service par expression régulière (ReDoS) via les expressions régulières splitDeviceRe, splitTailRe et splitPathRe. Le ReDoS présente une complexité temporelle polynomiale dans le pire des cas. |
3.2.2
Le jeudi 15 juillet 2021, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.2.2. Notez que, comme 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 | Modifier |
Valeur
Les API de requête de jeton et de requête de jeton d'actualisation renvoient désormais
Pour se conformer à la
RFC 6749, le framework d'autorisation OAuth 2.0, la valeur attendue pour le paramètre de configuration |
188492065 | Modifier |
Fin de la prise en charge de Node.js 8
À partir de la version 3.2.2, Node.js 8 ne sera plus pris en charge. Pour en savoir plus, consultez la section Logiciels et versions compatibles: Edge Microgateway. |
183990345 | Fonctionnalité |
Configurer la sortie des journaux pour le conteneur Docker
Le paramètre de configuration d'Edge Microgateway to_console vous permet d'envoyer des informations de journal à la sortie standard au lieu d'un fichier journal. Si vous suivez la procédure d'exécution de la micro-passerelle Edge dans un conteneur Docker, le conteneur redirige par défaut la sortie standard et la sortie d'erreur vers un fichier situé dans le conteneur à l'emplacement
Pour empêcher l'envoi d'informations de journal à Pour en savoir plus sur l'utilisation de cette nouvelle variable, consultez Utiliser Docker pour Edge Microgateway. |
183057665 | Fonctionnalité |
Rendre les chemins d'accès aux fichiers edgemicro.pid et edgemicro.sock configurables.
Un nouveau paramètre |
191352643 | Fonctionnalité | L'image Docker d'Edge Microgateway a été mise à jour pour utiliser la version 12.22 de NodeJS. Consultez Utiliser Docker pour Edge Microgateway. |
Correction de problèmes de sécurité
ID du problème | Description |
---|---|
CVE-2021-28860 | Dans MixMe Node.js, avant 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. Cela met en péril la disponibilité du programme et peut entraîner 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 étant valides. REMARQUE: Aucune attaque pratique n'est connue. |
CVE-2021-23358 | Le package underscore version 1.13.0-0 et antérieure à 1.13.0-2, version 1.3.2 et antérieure à 1.12.1 est vulnérable à 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 est 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. Le problème est corrigé dans la version 3.1.1. |
CVE-2020-8174 | L'image Docker a été mise à jour pour utiliser la version 12.22 de Node.js |
3.2.1
Le vendredi 5 mars 2021, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.2.1. Notez que, comme 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 |
Correction d'un problème qui entraînait l'échec des applications lorsque les clés JWK avaient une valeur nulle.
La condition nulle est désormais gérée pour éviter de transmettre une valeur nulle dans Remarque:Cette correction nécessite de mettre à niveau le proxy edgemicro-auth. |
179971737 | Bug |
Correction d'un problème qui entraînait l'enregistrement des réponses d'état 4XX / 5XX cibles en tant qu'erreurs de proxy pour les proxy edgemicro_*.
Pour les transactions Edge Microgateway, des nombres d'erreurs cibles incorrects étaient affichés dans le tableau de bord d'analyse des codes d'erreur Apigee Edge. Les codes d'erreur des erreurs de cible étaient comptabilisés comme des erreurs de proxy. Ce problème a été résolu, et les nombres d'erreurs cibles corrects sont maintenant affichés. |
179674670 | Fonctionnalité |
Une nouvelle fonctionnalité 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
|
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é concernant la clé et les valeurs secrètes de la micro passerelle Edge qui ont été transmises à partir d'arguments de ligne de commande ou définies via des variables d'environnement. Elles étaient affichées dans les arguments des processus worker/enfant du nœud après le démarrage de la micro passerelle. 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 clé et de secret sont transmises dans la ligne de commande lors du démarrage de la micro passerelle, les paramètres remplacent toutes les valeurs de variable d'environnement, le cas échéant. Dans ce cas, les valeurs sont toujours visibles dans les arguments de ligne de commande de l'explorateur de processus. |
178341593 | Bug |
Une erreur de documentation a été corrigée pour le plug-in apikeys.
Le fichier README du plug-in apikeys incluait de manière incorrecte une propriété
La propriété |
179366445 | Bug |
Un problème a été résolu, qui consistait en la suppression de la charge utile 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, Exemple : edgemicro: enable_GET_req_body: true Conformément à la RFC 7231, section 4.3.1: GET, la charge utile d'une requête GET n'a pas de sémantique définie. Elle 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 la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.2.0. Notez que, comme 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 manière à contenir le client_id sur l'objet de requête lorsque le jeton est valide. Le x-api-key est ensuite disponible pour les plug-ins suivants.
|
168836123, 172295489, 176462355, 176462872 | Fonctionnalité | Compatibilité ajoutée avec Node.js 14. |
172376835 | Bug | Utilisez l'unité de temps appropriée pour le point de terminaison /token dans le proxy edgemicro-auth .
Correction d'un problème qui entraînait le retour de
La correction ne modifie pas la durée d'expiration, mais uniquement l'unité de temps. Il ne s'applique qu'au champ Si les clients s'appuyaient sur la valeur 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 besoin de changer. |
173064680 | Bug | Correction d'un problème qui entraînait la fin de la requête cible par la micro-passerelle avant que tous les blocs de données ne soient traités.
Il s'agit d'un problème intermittent observé sur les requêtes à grande taille de charge utile. Il est apparu 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: |
Version 3.1.x
Correction de bugs et améliorations v.3.1.x
3.1.8
Le lundi 16 novembre 2020, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.8. Notez que, comme 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 ont été analysées de manière incorrecte dans les balises de variables d'environnement.
La gestion du remplacement des variables d'environnement analysait toutes les valeurs en tant que chaînes, ce qui entraînait des erreurs d'analyse pour les valeurs booléennes ou numériques. Par exemple, |
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 variable d'environnement. |
168732942 | Bug | Correction d'un problème qui empêchait les champs d'application OAuth de limiter l'accès du proxy d'API comme prévu.
Le flux |
170609716 | Bug | Correction d'un problème qui empêchait le flux /refresh du proxy edgemicro-auth de générer 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 de l'API n'étaient pas disponibles pour les plug-ins personnalisés, ni écrits dans le fichier de configuration du cache. Consultez la section À propos de la fonction init() du plug-in pour découvrir comment les détails de la portée sont rendus accessibles aux plug-ins. |
169810710 | Fonctionnalité | Clé et secret enregistrés dans le fichier de configuration du cache.
La clé et le secret de la micro-passerelle Edge étaient enregistrés dans le fichier YAML de configuration du cache à chaque rechargement/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 | Fonctionnalité | Impossible de désactiver le plug-in d'analyse.
Dans les versions précédentes de la micropasserelle, le plug-in d'analyse était activé par défaut et il n'était pas possible de le désactiver. Dans la version 3.1.8, un nouveau paramètre de configuration, |
159571119 | Bug | Erreur nulle dans le crochet 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 pour renseigner le code d'état HTTP et le message d'erreur appropriés pour les événements |
3.1.7
Le jeudi 24 septembre 2020, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.7. Notez que, comme 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 a entraîné la fermeture des nœuds de calcul.
|
133162200 | Bug | Les informations sur l'application du développeur n'ont pas été renseignées dans les données analytiques avec des réponses d'état 403 causées par des chemins de ressources de produits non autorisés ou des réponses 401 causées par un jeton expiré ou non valide.
|
132194290 | Bug | Les enregistrements Analytics sont supprimés lorsque Apigee Edge en rejette certains.
|
158618994 | Bug | Connexions client Redis excessives.
|
161404373 | Bug | En cas de réponse d'état 404, l'URI complet du proxy était inclus dans le message de réponse. |
166356972 | Bug | L'exécution de la micro-passerelle Edge avec Node.js version 12.13.x ou ultérieure a entraîné 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 du plug-in OAuth n'étaient pas consignées en cas d'échec réseau.
|
166517190 | Bug | Les données jwk_public_keys n'ont pas été stockées et récupérées par le synchroniseur, ni stockées dans Redis.
|
141659881 | Bug | La gestion des erreurs du certificat cible non valide affichait des réponses d'erreur trompeuses.
|
142808699 | Bug | Le plug-in accesscontrol ne gérait pas correctement les sections "allow" et "deny".
La micro passerelle traite désormais correctement la section de refus et respecte l'ordre des sections "allow" et "deny". Une nouvelle propriété |
3.1.6
Le jeudi 20 août 2020, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.6. Notez que, comme 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 | Fonctionnalité | Options d'emplacement de fichier de clé et de certificat personnalisées pour la commande rotatekey.
Pour en savoir plus sur ces nouvelles options de commande, consultez la section Alterner les clés. |
||||||||||||
154838259 | Bug | Correction de la rotation des clés pour les multi-instances dans plusieurs centres de données
Pour en savoir plus sur ces nouvelles options de commande, consultez la section Alterner les clés. |
||||||||||||
145525133 | Fonctionnalité alpha | Nouvelles métriques pour les plug-ins
Pour en savoir plus, consultez le fichier README Nouvelles métriques de plug-in sur GitHub. |
||||||||||||
159396879 | Bug | Supprimer l'assistant de package inutilisé | ||||||||||||
161092943 | Bug | La validation du chemin de base était incorrecte
Avant la version 3.1.6, le chemin de base du proxy ne correspondait pas correctement lorsque le chemin de base ne se terminait pas par Vous trouverez ci-dessous une explication plus détaillée du comportement précédent (corrigé dans la version 3.1.6):
Supposons qu'un proxy soit configuré avec le chemin de base
|
||||||||||||
160431789 | Bug | Plug-ins personnalisés : l'objet de configuration transmis à l'initialisation n'est pas renseigné
La configuration 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 de la micro passerelle Edge. Consultez config. |
||||||||||||
162758808 | Bug | Nouvelle configuration de quota pour le magasin de données de secours Redis
Vous pouvez utiliser la configuration suivante pour spécifier un espace de stockage en arrière-plan Redis pour les quotas. Pour en savoir plus, consultez Utiliser un magasin de données en arrière-plan Redis pour les quotas. |
3.1.5
Le vendredi 26 juin 2020, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.5. Notez que, comme 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 | Fonctionnalité | Configuration pour exclure le traitement des plug-ins
Une nouvelle fonctionnalité de configuration a été ajoutée pour ignorer le traitement des plug-ins pour les URL spécifiées. Pour en savoir plus, consultez la section Configurer des URL d'exclusion pour les plug-ins. |
156986819, 158529319 | Bug | Correction des problèmes liés au plug-in json2xml
Des problèmes ont été résolus lorsque le plug-in produisait des en-têtes Content-Type en double et que les en-têtes n'étaient pas envoyés à la cible comme prévu dans certains cas. |
156560067, 159688634 | Fonctionnalité | Utiliser les valeurs des variables d'environnement dans la configuration Une fonctionnalité a été ajoutée qui vous permet de spécifier des variables d'environnement à l'aide de balises dans le fichier de configuration. Les balises de variable d'environnement spécifiées sont remplacées par les valeurs réelles de la variable d'environnement. Les remplacements sont stockés en mémoire uniquement et non dans les fichiers de configuration ou de cache d'origine. Pour en savoir plus, consultez la section Définir des attributs de configuration avec des valeurs de variable d'environnement. |
155077210 | Bug | Un problème de formatage des journaux a été résolu.
Correction d'un problème dans lequel l'hôte cible apparaissait dans les journaux avec des deux-points supplémentaires. |
153673257 | Bug | (Edge pour le cloud privé uniquement) Produits compatibles avec la micro-passerelle non extraits Correction d'un problème qui empêchait l'extraction des produits compatibles avec la micro-passerelle. Ce problème ne se produisait que lors des installations d'Edge pour le cloud privé. |
154956890, 155008028, 155829434 | Fonctionnalité | Filtrage des produits téléchargés par attributs personnalisés
Pour en savoir plus, consultez Filtrer les produits par attributs personnalisés. |
153949764 | Bug | Correction d'un problème qui entraînait le plantage du processus de la micro-passerelle Edge lorsque le fichier de destination des journaux était plein.
La gestion des exceptions a été améliorée pour intercepter l'erreur et imprimer un message dans la console. |
155499600 | Bug | Correction des problèmes liés à la rotation des clés et à la mise à niveau de KVM
Consultez également la section Changer les clés JWT. |
3.1.4
Le vendredi 23 avril 2020, nous avons publié la correction suivante pour la micro-passerelle Edge.
Correction de bug:
Un problème de dépendance dans la version 3.1.3 a été résolu. 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 les améliorations décrites dans les notes 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 la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.3. Notez que, comme 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 entraînait des fuites de mémoire avec le module de débogage Node.js. Ce problème se produit dans les versions 3.1.0, 3.1.1 et 3.1.2.
- 153509313 : un problème a été résolu, qui consistait à imprimer le même ID de message pour deux transactions différentes dans la sortie de journalisation.
- 151673570 : correction d'un problème qui empêchait la mise à jour de la micro passerelle Edge 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 de chemin de ressource corresponde à celui d'Apigee Edge. Dans cette version, un problème a été corrigé qui empêchait le modèle
/literal_string/*
d'être géré correctement. Exemple :/*/2/*
. Consultez également la section Configurer le comportement d'un chemin de ressource de '/', '/*' et '/**'. - 152005003 : des modifications ont été apportées pour activer les identifiants de portée organisation et environnement pour les quotas.
- 152005003 : des modifications ont été apportées pour activer les identifiants de portée organisation et 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 corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.3. Notez que, comme 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 fonctionnalité a été améliorée pour ajouter la prise en charge du proxy HTTP au trafic entre la micro passerelle Edge et les cibles backend. En outre, des problèmes ont été résolus pour la prise en charge des proxys HTTP existants entre Edge Microgateway et Apigee Edge. Pour en savoir plus, consultez :
- 149101890 : le code de notification de journal pour les cas où le serveur cible ou l'équilibreur de charge ferme sa connexion a été modifié de ERROR en INFO.
- 150746985 : correction d'un problème qui empêchait la commande
edgemicro verify
de fonctionner correctement siredisBasedConfigCache: true
ouquotaUri: https://%s-%s.apigee.net/edgemicro-auth
étaient présents dans le fichier de configuration. - 151284716 : une amélioration a été apportée pour fermer plus rapidement les connexions au serveur lorsque les workers sont redémarrés lors d'un rechargement.
- 151588764 : mise à jour de la version Node.js dans l'image Docker utilisée pour exécuter la micro-passerelle Edge dans un conteneur Docker vers la version 12, car la version 8 de Node.js est obsolète.
- 151306049 : une mise à jour de la documentation a été effectuée pour lister les API de gestion Apigee Edge utilisées par les commandes CLI de la micro passerelle Edge. Consultez Quelles API de gestion Edge Microgateway utilise-t-il ?.
3.1.1
Le jeudi 20 février, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.1. Notez que, comme 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 : correction d'un problème qui empêchait le module
microgateway-core
de respecter les variables d'environnementHTTP_PROXY
etHTTPS_PROXY
. Avec ce changement, les paramètres de proxy dans le fichier de configuration YAML, le cas échéant, 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 la durée (en millisecondes) pendant laquelle l'analyseur HTTP attendra 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
Server.headersTimeout
Node.js sur les requêtes. (Par défaut: 5 secondes de plus que le délai défini avecedgemicro.keep_alive_timeout
. Ce paramètre par défaut empêche les équilibreurs de charge ou les proxys de couper la connexion par erreur.) 149278885 : une nouvelle fonctionnalité a été ajoutée pour vous permettre de définir le délai avant expiration de l'API cible au niveau du proxy d'API au lieu d'utiliser un seul paramètre de délai avant expiration global.
Si vous définissez la propriété TargetEndpoint
io.timeout.millis
dans le proxy d'API, la micro passerelle Edge pourra récupérer cette propriété et appliquer des délais avant expiration spécifiques au point de terminaison cible. Si ce paramètre n'est pas appliqué, la micro passerelle Edge utilise le délai avant expiration global spécifié avecedgemicro.request_timeout
.
3.1.0
Le mardi 21 janvier, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.1.0. Notez que, comme 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 enregistré lorsque l'indicateur
quotas.failOpen
est déclenché. Cet indicateur est déclenché si une erreur de traitement des quotas se produit ou si la requête "quota apply" (Application des quotas) envoyée à Edge ne parvient pas à mettre à jour les compteurs de quota à distance. Dans ce cas, le quota sera traité en fonction des calculs locaux uniquement jusqu'à la prochaine synchronisation du quota à distance. Auparavant, cet événement n'était enregistré que lorsque le niveau de journalisation était défini sur DEBUG.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 qui affectait les transactions en cours ou nouvelles chaque fois qu'Edge Microgateway détectait une modification d'un proxy d'API. Désormais, lorsqu'une modification est apportée à un proxy, la micro passerelle Edge actualise le cache et les nœuds de calcul redémarrent. Avec ce changement, les transactions en cours et les nouveaux appels d'API envoyés à la micro-passerelle ne sont pas affectés.
- 146378327 : le niveau de journalisation de
sourceRequest
,targetRequest
ettargetResponse
a été défini sur INFO. - 146019878 : un écart entre la latence calculée pour "Performances du proxy d'API" dans les données analytiques Edge et les événements de journal sourceResponse/targetResponse de la micro passerelle Edge a été corrigé. La latence dans les événements de journal d'analyse Edge et de la micro passerelle est désormais alignée.
- Modifications liées à la logique de correspondance de modèle :
- 147027862 : le plug-in OAuth a été mis à jour pour prendre en charge les modèles de correspondance de chemin de ressource suivants, comme indiqué dans les produits d'API :
/{literal}**
/{literal}*
- Toute combinaison des deux modèles ci-dessus
Avec ce changement, le plug-in Edge Microgateway suit désormais la même mise en correspondance de modèles qu'Apigee Edge, comme expliqué dans la section Configurer le comportement d'un chemin de ressource de '/', '/*' et '/**'.
- 145644205 : mise à jour de la logique de correspondance des modèles du plug-in apiKeys pour qu'elle corresponde au plug-in OAuth.
- 147027862 : le plug-in OAuth a été mis à jour pour prendre en charge les modèles de correspondance de chemin de ressource suivants, comme indiqué dans les produits d'API :
- 143488312 : un problème a été corrigé, qui consistait en ce que des espaces en début ou en fin de paramètre d'ID client entraînaient la création d'une liste de produits JWT vide 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 "synchroniseur" de récupérer des données de configuration à partir d'Apigee Edge et de les écrire dans une base de données Redis locale. D'autres instances de micro passerelle peuvent ensuite être configurées 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 microgateway de démarrer et de fonctionner sans avoir à communiquer avec Apigee Edge. Pour en savoir plus, consultez la section Utiliser le synchronisateur.
La fonctionnalité de synchroniseur 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 la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.0.10. Notez que, comme 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 fonctionnalité a été mise à jour afin que la mise en correspondance des modèles pour les chemins d'accès aux ressources utilisés dans les produits d'API pour Edge Microgateway corresponde désormais à la mise en correspondance des modèles de chemin d'accès aux ressources utilisée par Apigee Edge, comme décrit dans la section Configurer le comportement d'un chemin d'accès aux ressources de '/', de '/*' et de '/**'.
Remarque: Si vous utilisez un modèle de ressource composé tel que
/*/2/**
, vous devez vous assurer que le proxyedgemicro_auth
est ajouté à un produit d'API autonome. Vous devez ensuite inclure ce produit dans l'application du développeur du proxy, comme illustré dans la capture d'écran suivante:Remarque: La propriété de configuration
features.isSingleForwardSlashBlockingEnabled
, comme décrit dans la section Configurer le comportement d'un chemin de ressource de '/', '/*' et '/**', n'est pas compatible avec la micro-passerelle Edge. 143740696 : la structure de configuration de
quotas
a changé (voir également les notes de version de la version 3.0.9). La propriétéquotas
permet de configurer le plug-in de quota. Ce changement de structure a été effectué 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'appellequotas
. Pour en savoir plus sur les propriétés de configuration individuelles dequotas
, 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 espace de stockage de sauvegarde des quotas.
Si
useRedis
est "true", le module volos-quota-redis est utilisé. Si la valeur est "true", le quota est limité aux seules instances de micro passerelle Edge qui se connectent à Redis. Si la valeur est "false", le module volos-quota-apigee est utilisé comme espace de stockage de secours, 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 : pour prendre en charge les organisations compatibles avec SAML, la commande
edgemicro genkeys
a été mise à jour pour inclure un paramètre‑‑token
. 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 la section Générer des clés.
3.0.9
Le vendredi 11 octobre, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.0.9. Notez que, comme 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é "fail open" a été ajoutée pour le plug-in de quota.
Lorsque cette fonctionnalité est activée, si une erreur de traitement des quotas se produit ou si la requête "quota apply" (Appliquer le quota) envoyée à Edge ne parvient pas à mettre à jour les compteurs de quota distants, le quota sera traité en fonction des comptes locaux uniquement jusqu'à la prochaine synchronisation réussie des quotas distants. Dans les deux cas, un indicateur
quota-failed-open
est défini dans l'objet de requête.Pour activer la fonctionnalité de "fail open" des quotas, définissez la configuration suivante:
quotas : failOpen : true
Remarque: En outre, le nom du flag d'objet de requête
fail-open
du plug-in OAuth a été remplacé paroauth-failed-open
. - 142093764 : une modification de configuration a été apportée au proxy
edgemicro-auth
pour éviter les dépassements de quota. Le type de quota est défini sur agenda. Pour utiliser cette amélioration, vous devez mettre à jouredgemicro-auth
vers la version 3.0.7 ou ultérieure. - 142520568 : une nouvelle fonctionnalité a été ajoutée pour activer la journalisation de l'ID du MP (message processor) dans les réponses de quota. Pour utiliser cette fonctionnalité, vous devez mettre à jour votre proxy
edgemicro-auth
vers la version 3.0.7 ou ultérieure et définir la configuration suivante:quotas: useDebugMpId: true
Lorsque
useDebugMpId
est défini, les réponses aux quotas d'Edge contiennent l'ID de MP et sont enregistré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 la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.0.8. Notez que, comme 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é "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 au 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 de grâce. Cette fonctionnalité permet à la micro passerelle Edge de continuer à traiter les requêtes en cas de défaillance temporaire de la connexion. Lorsque la connectivité reprend et qu'un appel de validation de clé API aboutit, un nouveau JWT est extrait et remplace l'ancien dans le cache.
Pour configurer la nouvelle fonctionnalité "fail open", procédez comme suit:
- Définissez les propriétés suivantes dans la strophe
oauth
du fichier de configuration de la micro passerelle Edge:oauth: failOpen: true failopenGraceInterval: time_in_seconds cacheKey: true ...
Exemple :
oauth: failOpen: true failopenGraceInterval: 5 cacheKey: true ...
Dans cet exemple, l'ancien jeton est utilisé pendant cinq secondes s'il ne peut pas être actualisé en raison d'un problème de connectivité. Au bout de cinq secondes, une erreur d'authentification est renvoyée.
- Définissez les propriétés suivantes dans la strophe
- 141168968 : une mise à jour a été apportée pour inclure le
correlation_id
dans toutes les sorties de journal du plug-in. En outre, les niveaux de journalisation de certains journaux ont été définis surerror
, comme requis. - 140193349 : une mise à jour a été apportée au proxy
edgemicro-auth
pour exiger que la clé et le secret de la micro-passerelle Edge soient validés à chaque requête de validation de clé API. La micro passerelle Edge a été mise à jour pour envoyer toujours la clé et le secret à chaque requête de validation de clé API. Cette modification empêche les clients d'obtenir un JWT avec une seule clé API. - 140090250 : une mise à jour a été effectuée pour ajouter la journalisation des diagnostics au traitement des quotas. Avec cette modification, il est désormais possible de mettre en corrélation la sortie du journal des quotas avec le reste des journaux de la micro-passerelle Edge.
3.0.7
Le jeudi 12 septembre, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
Versions des composants:
Le tableau suivant répertorie les numéros de version des projets de composants individuels associés à Edge Microgateway 3.0.7. Notez que, comme 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 : une mise à jour a été apportée au plug-in OAuth pour renvoyer un code d'état 5xx le cas échéant. Auparavant, le plug-in ne renvoyait que des codes d'état 4xx dans tous les cas autres que 200. Désormais, pour toute réponse de message qui n'est 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
à la configuration de votre 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,
quota.quotaUri
, a été ajoutée. Définissez cette propriété de configuration si vous souhaitez gérer les quotas via le proxyedgemicro-auth
déployé dans votre organisation. Si cette propriété n'est pas définie, le point de terminaison de quota est défini par défaut sur le point de terminaison interne de la micro passerelle Edge. 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 à la dernière version du proxyedgemicro-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 fournir une authentification.
De plus, le proxy
edgemicro-auth
a été modifié pour supprimer "organisation" de l'identifiant de quota. Étant donné que le point de terminaison du quota se trouve dans l'organisation du client, l'identifiant du quota n'est plus nécessaire. - 140823165 - Le nom de propriété suivant:
edgemicro: keepAliveTimeout
a été documentée de manière incorrecte dans la version 3.0.6. Le nom de propriété correct est le suivant:
edgemicro: keep_alive_timeout
- 139526406 : correction d'un bug qui entraînait un nombre de quotas incorrect si une application de développeur comportait plusieurs produits. Le quota est désormais appliqué correctement pour chaque produit d'une application comportant plusieurs produits. La combinaison "nom de l'application + nom du produit" est utilisée comme identifiant de quota.
3.0.6
Le jeudi 29 août, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
- 138633700 : ajout d'une nouvelle propriété de configuration,
keepAliveTimeout
. Cette propriété vous permet de définir le délai avant expiration d'Edge Microgateway (en millisecondes). (valeur par défaut: 5 000 millisecondes)Exemple :
edgemicro: keep_alive_timeout: 600
- 140090623 : ajout d'une nouvelle propriété de configuration,
quotaUri
. Définissez cette propriété de configuration si vous souhaitez gérer les quotas via le proxyedgemicro-auth
déployé dans votre organisation. Si cette propriété n'est pas définie, le point de terminaison de quota est défini par défaut sur le point de terminaison interne de la micro passerelle Edge. 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 nouvelle propriété de configuration,
stack_trace
. Cette propriété vous permet de contrôler si les traces de pile apparaissent ou non dans les fichiers journaux. Exemple :stack_trace: false
Si
stack_trace
est défini surtrue
, la trace de la pile est imprimée dans les journaux. Si elle est définie surfalse
, la trace de la pile n'est pas imprimée dans les journaux.
3.0.5
Le jeudi 15 août, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
Bugs corrigés- 139005279 : correction d'un problème où la commande
edgemicro status
ne renvoyait pas le bon nombre de processus de travail. - 138437710 : un problème a été résolu dans la classe ExitCounter qui empêchait l'écriture du journal approprié.
- 139064652 : possibilité d'ajouter des niveaux de journalisation
trace
etdebug
pour les journaux d'événements et système. Pour l'instant, seule la possibilité d'ajouter ces niveaux de journalisation a été ajoutée. Actuellement, les niveaux de journalisation disponibles sontinfo
,warn
eterror
. - 139064616 : la sortie du journal a été standardisée pour toutes les instructions de journal de console. Les instructions de journalisation de la console incluent désormais les attributs suivants:
- Horodatage
- Nom du composant
- ID du processus
- Message du journal de la console
- 138413755 : amélioration des messages de journal liés aux clés et aux secrets JWT pour les commandes CLI suivantes : cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey et configure.
- 138413577 : ajout et amélioration de la gestion des erreurs pour les délais avant expiration des services de backend.
- 138413303 : ajout et amélioration de la gestion des erreurs pour les délais avant expiration de la réponse et du socket.
- 138414116 : ajout et amélioration de la gestion des erreurs de connexion refusée.
3.0.4
Le jeudi 1er août, nous avons publié les corrections et améliorations suivantes pour la micro-passerelle Edge.
- 134445926 : améliorations apportées à l'authentification interne d'Edge Microgateway.
- 137582169 : correction d'un problème de démarrage de processus indésirables. Les processus supplémentaires ont entraîné le rechargement des plug-ins et une utilisation excessive de la mémoire. La micro passerelle Edge limite désormais le nombre de processus dans la limite attendue.
- 137768774 : améliorations des messages de journal :
- Nettoyage des journaux des transactions (requêtes).
- Ajout de messages de journal supplémentaires, si nécessaire.
- Suppression des messages de journal des transactions (requêtes) de la sortie de la console vers le fichier de journal approprié.
- Mise à jour des journaux de console pour utiliser une fonction de journalisation centralisée.
- 138321133, 138320563 : modification interne fondamentale du tampon de quota pour permettre de futures améliorations des quotas.
3.0.3
Le mardi 23 juillet, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
- Améliorations de la journalisation: les journaux d'exécution existants utilisent une nouvelle fonction
eventLog()
qui capture et journalise les données d'exécution dans un format cohérent. Les informations de journal incluent :- Code temporel (ISO 8601: AAAA-MM-JJTHH:mm:ss.sssZ)
- Niveau de journalisation (erreur, avertissement ou info).
- Nom d'hôte : nom d'hôte à partir de l'en-tête de la requête.
- ID de processus : si vous exécutez un cluster de processus Node.js, il s'agit de l'ID du processus dans lequel la journalisation s'est produite.
- Nom de l'organisation Apigee.
- Nom de l'environnement dans l'organisation.
- Nom du proxy d'API.
- Adresse IP du client.
- ClientId.
- ID de corrélation (non défini pour le moment).
- 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 est imprimé dans cette propriété.
- Durée
- Signaleur de fin de ligne du système d'exploitation
Les valeurs de propriété nulles génèrent des crochets vides,
[]
.L'exemple suivant montre le format de journal:
Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]
(137770055)
- Performances: les produits de l'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éliorations 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 : le code a été examiné pour vérifier sa qualité, et des modifications ont été apportées pour répondre aux normes de qualité demandées par les utilisateurs. Nous avons corrigé les erreurs et les avertissements de qualité du code provenant de JSHint.
Des erreurs de code réelles ont ainsi été identifiées et corrigées. Tous les modules de la micro passerelle Apigee Edge 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 avec des modifications de qualité du code ont été testés avec des outils internes qui vérifient l'exécution de la micro-passerelle Edge pour les cas d'utilisation des clients.
3.0.1
Le vendredi 21 juin 2019, nous avons publié les correctifs et améliorations suivants pour la micro-passerelle Edge.
- 134834551 - Modification des versions Node.js compatibles avec la micro-passerelle Edge
(versions Node.js compatibles: 8 et 12 ; les versions 7, 9 et 11 sont expérimentales) - 134751883 : Edge Microgateway plante lors du rechargement sous charge
- 134518428 : le point de terminaison des produits de la micro passerelle Edge renvoie 5XX si le format 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 de gracePeriod dans OAuth n'est pas correct
- Utiliser 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 de la version 2.5.x
(Correction apportée à la version 2.5.38, 7 juin 2019)
Les jetons JWT mal mis en forme peuvent entraîner le plantage des nœuds de calcul lors de l'utilisation du cache de jetons. Correction dans le module microgateway-plugins Edge. (b/134672029)
(Ajouté le 2.5.37) Ajout de l'option de ligne de commande 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 section Gérer les certificats.
(Ajoutée le 2.5.35) Prise en charge du débogage d'Edge Microgateway à l'aide de edgemicroctl
.
Vous pouvez utiliser l'option mgdebug
avec edgemicroctl
. Consultez également la section Tâches d'intégration Kubernetes.
(Ajoutée le 2.5.35) Activation d'un build Windows pour edgemicroctl
.
(Ajoutée le 2.5.31) Nouvelle API edgemicro-auth/token
Une nouvelle API edgemicro-auth/token a été ajoutée. Elle vous permet de transmettre le client/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é dans la version 2.5.31) La configuration privée ne respecte pas l'indicateur de jeton
Correction d'un problème de configuration de la micro passerelle Edge pour utiliser un jeton d'accès OAuth2 sur Edge pour le cloud privé, qui ne fonctionnait pas correctement (le jeton n'était pas respecté).
Docker: prise en charge de l'utilisation de certificats autosignés
(Ajout le 2.5.29) Si vous utilisez une autorité de certification (CA) 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 la micro-passerelle Edge.
Pour en savoir plus, consultez Utiliser une autorité de certification non approuvée par Node.js.
Docker: prise en charge de TLS
(Ajout le 2.5.29) Edge Microgateway exécuté dans un conteneur Docker est désormais compatible avec TLS pour les requêtes entrantes vers le serveur Edge Microgateway (requêtes nord-sud) et pour les requêtes sortantes d'Edge Microgateway vers une application cible (requêtes sud-nord).
Les exemples suivants expliquent en détail comment configurer ces configurations TLS:
Dans ces exemples, vous allez découvrir comment utiliser le point d'installation du conteneur /opt/apigee/.edgemicro
pour charger les certificats, qui sont ensuite référencés dans le fichier de configuration d'Edge Microgateway.
Docker: prise en charge du proxying des requêtes
(Ajout le 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 micro passerelle 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: mises à jour des instructions concernant le plug-in
(Ajout le 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 option, qui consiste à utiliser un point d'installation Docker, est nouvelle. L'autre option existait auparavant et n'a pas fondamentalement changé. Toutefois, le fichier Dockerfile a été mis à jour. Pour en savoir plus, consultez les liens suivants:
- Option A: Monter le répertoire des plug-ins sur un volume (nouveau)
- Option B: Compiler les plug-ins dans le conteneur (mise à jour)
Nouvelle prise en charge des jetons OAuth pour la commande de mise à niveau KVM
(Ajout le 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éparer les API dans Edge Analytics
(Ajout le 2.5.26) Les nouveaux indicateurs du 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 les appels d'API réels. Pour en savoir plus, consultez la section Exclure des chemins d'accès des données analytiques.
Configurer un proxy local
(Ajout le 2.5.25) Avec un proxy local, vous n'avez pas besoin de créer manuellement un proxy compatible avec Microgateway sur Apigee Edge. À la place, la micro passerelle utilisera le chemin d'accès de base du proxy local. Pour en savoir plus, consultez la section Utiliser le mode proxy local.
Utiliser le mode autonome
(Ajout le 25/05/2020) 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. Pour en savoir plus, consultez Exécuter Edge Microgateway en mode autonome.
Révoquer des clés
(Ajout le 2.5.19) Une nouvelle commande CLI a été ajoutée pour révoquer les identifiants de clé et de secret pour une configuration de micro passerelle Edge.
edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Compatibilité avec Docker
(Ajout le 2 mai 2019) 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 le 2 mai 2019) Vous pouvez déployer Edge Microgateway en tant que service ou en tant que passerelle side-car devant les services déployés dans un cluster Kubernetes. Consultez la présentation de l'intégration d'Edge Microgateway à Kubernetes.
Compatibilité avec l'option nodelay du protocole TCP
(Ajout le 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 en mémoire tampon les données avant de les envoyer. Définir nodelay
sur true
désactive ce comportement (les données sont immédiatement envoyé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 la CLI pour la surveillance Forever
(Ajout le 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 en arrière-plan Forever. Consultez également Surveillance permanente.
Paramètre | Description |
---|---|
-f, --file | Spécifie l'emplacement du fichier forever.json . |
-a, --action | start ou stop . La valeur par défaut est "start". |
Exemples :
Pour lancer Forever:
edgemicro forever -f ~/mydir/forever.json -a start
Pour arrêter Forever:
edgemicro forever -a stop
Rotation des clés JWT
Une nouvelle fonctionnalité a été ajoutée pour vous permettre de faire pivoter les paires de clés publiques/privées utilisées pour générer les jetons JWT utilisés pour la sécurité OAuth sur la micro-passerelle Edge. Consultez la section Alterner les 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 dénomination "edgemicro_". Vous pouvez modifier cette valeur par défaut pour télécharger des proxys dont les noms correspondent à un format. Consultez la section Filtrer les proxys téléchargés.
Spécifier des produits sans proxys 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. À partir de la version 2.5.4, Edge Microgateway est compatible avec cette configuration de produit.
Compatibilité avec la surveillance permanente
Edge Microgateway dispose d'un fichier forever.json
que vous pouvez configurer pour contrôler le nombre de fois et les intervalles à respecter pour redémarrer Edge Microgateway. Ce fichier configure un service appelé "forever-monitor", qui gère Forever de manière programmatique. Consultez
Surveillance permanente.
Gestion centralisée du fichier de configuration Edge Micro
Si vous exécutez plusieurs instances de micro passerelle Edge, 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 CLI "forever"
(Ajoutée le 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 de rechargement
(Ajout le 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 du 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 "Not Before" (nbf) ou "Issued At" (iat) spécifiées dans le jeton d'autorisation JWT. Définissez cet attribut sur le nombre de secondes pour permettre de telles différences. Consultez la section Attributs OAuth.
(Ajout du 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 "Not Before" (nbf) ou "Issued At" (iat) spécifiées dans le jeton d'autorisation JWT. Définissez cet attribut sur le nombre de secondes pour permettre de telles différences. Consultez la section Attributs OAuth.
Bugs résolus v2.5.x
- (Problème 236) Correction d'une faute de frappe lors du vidage du cache.
- (Problème 234) Le rechargement plante pour Edge Microgateway 2.5.35.
- (Problème 135) Erreur "secure" de référence d'hôte virtuel non valide lors de l'utilisation de l'option -v. Cette correction 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". En outre, vous pouvez spécifier un nombre illimité d'hôtes virtuels et n'importe quel nom (plus limité aux valeurs par défaut et sécurisées).
- (Problème 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 142) Edge Microgateway signale une cryptographie obsolète au moment de l'installation. Ce problème a été résolu.
- (Problème 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-both-api-proxies-a.html#answer-33336) Jeton JWT validé à la fois contre les proxys d'API et l'URI de la ressource dans OAUTH. Ce problème a été résolu.
- (Problème de la communauté Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) La micro passerelle ne fonctionne pas avec OAuth. Ce problème a été résolu.
- Correction de pidPath sous Windows.
- (Problème 157) Le problème à l'origine du message d'erreur suivant a été corrigé :
ReferenceError: deployProxyWithPassword
n'est pas défini. - (Problème 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 fournir la prise en charge des 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 d'accès de base par défaut du proxy edgemicro-auth. Par défaut, le chemin de base est /edgemicro-auth. Pour le modifier, utilisez l'option -x dans la commande edgemicro configure.
Exemple :
edgemicro configure -x /mypath …
2. Prise en charge des caractères génériques dans les chemins de base (PR 77)
Vous pouvez utiliser un ou plusieurs caractères génériques * dans le chemin d'accès 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 que vous ayez besoin de créer de proxys d'API pour gérer les nouvelles équipes. Notez que /**/ n'est pas accepté.
Important:Apigee n'accepte PAS le caractère générique "*" en tant que 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 cloud privé (PR 99)
Par défaut, le fichier de configuration de la micro passerelle se trouve dans ./config/config.yaml. Pour les commandes init, configure et start, vous pouvez désormais spécifier un chemin de configuration personnalisé sur la ligne de commande à l'aide des options -c ou --configDir. Correction d'un problème qui empêchait la reconnaissance d'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. Respect des 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, deux options s'offrent à vous:
Option 1 :
La première option consiste à définir l'option edgemicro: proxy_tunnel sur "true" dans le fichier de configuration de la micro-passerelle:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
Lorsque proxy_tunnel est défini sur true, la micro passerelle Edge utilise la méthode CONNECT HTTP 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 pour TLS.)
Option 2 :
La deuxième option consiste à spécifier un proxy et à définir 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 ceux qui ne doivent pas gérer les proxys de la micro-passerelle Edge : 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 auxquels la micro passerelle Edge ne doit pas faire appel à 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 avant expiration personnalisé pour les requêtes cibles (PR 57)
Vous pouvez définir un délai avant expiration personnalisé pour les requêtes cibles avec cette configuration:
edgemicro: request_timeout: 10
Le délai avant expiration est défini en secondes. En cas d'expiration du délai, la micro passerelle Edge répond avec un code d'état 504.
6. Respecter les messages d'état HTTP personnalisés dans la réponse cible (PR 53)
La micro passerelle Edge 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 pour l'analyse.
Si présent, l'en-tête X-Forwarded-For définit la variable client_ip qui est indiquée dans Edge Analytics. Cette fonctionnalité vous permet de connaître l'adresse IP du client qui a envoyé une requête à Edge Microgateway.
8. Modifications apportées au plug-in OAuth
Le plug-in OAuth est compatible avec la validation de la clé API et du jeton d'accès OAuth. Avant ce changement, le plug-in acceptait l'une ou l'autre forme de sécurité. Avec cette modification, vous ne pouvez autoriser qu'un seul de ces modèles de sécurité (tout en conservant la rétrocompatibilité).
Les plug-ins OAuth ajoutent deux nouveaux indicateurs:
-
allowOAuthOnly : si la valeur est true, chaque API doit comporter un en-tête d'autorisation avec un jeton d'accès de type "bearer".
-
allowAPIKeyOnly : si la valeur est 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 d'Edge Microgateway comme suit:
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 les clés dans Edge Secure Store, un coffre-fort chiffré. Le proxy stocke désormais les clés dans la carte clé-valeur (KVM) chiffrée d'Edge.
10. Réécriture de l'URL cible par défaut dans un plug-in (PR 74)
Vous pouvez également remplacer 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. Prise en charge initiale de l'authentification par jeton OAuth (PR 125)
Vous pouvez configurer la micro passerelle Edge pour qu'elle utilise un jeton OAuth pour l'authentification au lieu d'un nom d'utilisateur/mot de passe. Pour utiliser un jeton OAuth, utilisez le paramètre suivant sur la commande edgemicro configure:
-t, --token <token>
Exemple :
edgemicro configure -o docs -e test -t <your token>
Bugs résolus dans la version 2.4.3
- Correction d'un problème qui nécessitait une organisation payante pour exécuter correctement le proxy edgemicro-auth. Vous pouvez désormais utiliser Edge Microgateway avec des organisations d'essai. (PR 5)
- Correction d'un problème où le flux n'avait pas terminé de traiter les données, mais que les gestionnaires de fin s'exécutaient quand même. Une réponse partielle a donc été envoyée. (PR 71)
- Correction d'un problème qui empêchait la reconnaissance d'un répertoire de configuration personnalisé pour les installations de cloud privé. (PR 110)
- Correction d'un problème lié au protocole SSL bidirectionnel entre le client et la micro-passerelle Edge. (PR 70)
- Correction d'un problème qui nécessitait une barre oblique finale sur le chemin d'accès de base du proxy pour que la validation de la clé API fonctionne correctement. Désormais, il n'est plus nécessaire d'ajouter une barre oblique à la fin du chemin d'accès de base. (PR 48)
Version 2.3.5
Nouvelles fonctionnalités et améliorations v.2.3.5
Filtrage par proxy
Vous pouvez filtrer les proxys compatibles avec la micro passerelle qu'une instance Edge Microgateway traitera.
Lorsque Edge Microgateway démarre, il télécharge tous les proxy compatibles avec la micro passerelle dans l'organisation à laquelle il est associé. Utilisez la configuration suivante pour limiter les proxys que la micro passerelle traitera. Par exemple, cette configuration limite les proxys que la micro passerelle traitera à 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 les informations sur le chemin d'accès des requêtes d'apparaître dans les données analytiques Edge. Ajoutez ce qui suit à la configuration de la micro passerelle pour masquer l'URI et/ou le chemin de la requête. Notez que l'URI se compose du nom d'hôte et du 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 v.2.3.3
Vous trouverez ci-dessous les nouvelles fonctionnalités et améliorations de cette version.
Désactiver l'interrogation automatique des modifications
Vous pouvez désactiver la vérification automatique des modifications en définissant cet attribut dans la configuration de la micro passerelle:
disabled_config_poll_interval: true
Par défaut, l'interrogation périodique détecte toutes les modifications apportées à Edge (modifications des produits, des proxys compatibles avec la micro-passerelle, etc.) ainsi que les modifications apportées au fichier de configuration local. L'intervalle de sondage par défaut est de 600 secondes (cinq minutes).
Réécrire les URL cibles dans les plug-ins
Vous pouvez remplacer l'URL cible par défaut de manière dynamique dans un plug-in en modifiant ces variables dans le code du plug-in: req.targetHostname et req.targetPath.
Nouvelle signature de fonction de plug-in
Une nouvelle signature de fonction de plug-in a été ajoutée, qui fournit la réponse cible en tant qu'argument. Cette addition permet aux plug-ins d'accéder plus facilement à 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 format JSON des proxys, produits et jetons Web JSON téléchargés.
Vous pouvez définir la valeur par défaut pour la sortie de ces objets en définissant DEBUG=*
lorsque vous démarrez la micro passerelle Edge. 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 la micro passerelle se trouve dans ./config/config.yaml. Pour les commandes init, configure et start, vous pouvez désormais spécifier un chemin de configuration personnalisé dans la ligne de commande. Exemple :
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
Bugs résolus v2.3.3
- Correction d'une fuite de mémoire qui se produisait lors de requêtes/réponses volumineuses.
- L'ordre d'exécution des plug-ins a été corrigé. Il se comporte désormais comme décrit dans la documentation.
- Le plug-in accumulate-request ne bloque plus les requêtes GET.
- Un problème a été résolu dans le plug-in accumulate-response, où l'absence de corps de réponse entraînait des erreurs.
Version 2.3.1
Remarque d'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 page d'installation.
Nouvelles fonctionnalités et améliorations v.2.3.1
Vous trouverez ci-dessous les nouvelles fonctionnalités et améliorations de cette version.
Filtrer les proxys
Une nouvelle configuration vous permet de filtrer les proxys que Edge Microgateway chargera au démarrage. Auparavant, la micro passerelle chargeait tous les proxys compatibles avec la micro passerelle (proxys nommés edgemicro_*) extraits de l'organisation/environnement Edge que vous avez spécifié dans la commande de configuration edgemicro. Cette nouvelle fonctionnalité vous permet de filtrer cette liste de proxys afin qu'Edge Microgateway ne charge que ceux que vous spécifiez. Il vous suffit d'ajouter l'élément "proxies" au fichier de configuration de la micro-passerelle comme suit:
edge micro: proxies: - edgemicro_[name] - edgemicro_[name] ...
Par exemple, supposons que vous disposiez de 50 proxys edgemicro_*
dans votre org/env Edge, y compris ceux nommés edgemicro_foo
et edgemicro_bar
. Vous pouvez demander à la micro passerelle de n'utiliser que ces deux proxys comme suit:
edge micro: proxies: - edgemicro_foo - edgemicro_bar
Au démarrage, la micro passerelle ne pourra appeler que les proxys spécifiés. Toute tentative d'appel d'autres proxys compatibles avec la micro-passerelle téléchargés à partir de l'organisation/de l'environnement Edge entraînera une erreur.
Définir des en-têtes de requête cible 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 cible : l'un où la requête entrante contient des données (comme dans une requête POST) et l'autre où elle ne le fait pas (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 de manière fiable les en-têtes cibles dans ce cas.
La clé de ce modèle consiste à accumuler d'abord 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 qui montre 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 déjà été documenté et 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é de rechargement sans temps d'arrêt
Après avoir modifié la configuration de la micro passerelle Edge, vous pouvez charger la configuration sans perdre de messages. Avec ce changement, la micro-passerelle Edge démarre toujours en mode cluster, et l'option --cluster
a été supprimée de la commande edgemicro start
.
De plus, trois nouvelles commandes CLI ont été ajoutées. Vous devez exécuter ces commandes à partir du même répertoire que celui où la commande de démarrage edgemicro 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 d'Edge Microgateway sans temps d'arrêt.
Rechargement automatique de la configuration sans temps d'arrêt
Edge Microgateway charge une nouvelle configuration périodiquement et effectue un rechargement en cas de modification. L'interrogation détecte toutes les modifications apportées à Edge (modifications apportées aux produits, proxy compatibles avec la micro-passerelle, etc.) ainsi que les modifications apportées au fichier de configuration local. L'intervalle de sondage 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
Nouvelles 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 du fichier PFX. |
ca |
Chemin d'accès à un fichier contenant une liste de certificats approuvés au format PEM. |
ciphers |
Chaîne décrivant les algorithmes de chiffrement à utiliser, séparés par un ":". |
rejectUnauthorized |
Si la valeur est "true", le certificat du serveur est validé 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 la version 3 de SSL. |
servername |
Nom du serveur pour l'extension TLS SNI (Server Name Indication). |
Envoyer des fichiers journaux vers stdout
Vous pouvez envoyer des données de journalisation à la sortie standard avec un nouveau paramètre de configuration:
edgemicro: logging: to_console: true
Consultez la section Gérer les fichiers journaux.
Version 2.1.2
Vous trouverez ci-dessous les nouvelles fonctionnalités et améliorations de cette version.
Autoriser un point de terminaison d'API personnalisé pour la configuration
De nouveaux points de terminaison configurables pour le proxy d'autorisation sont disponibles et prennent en charge l'utilisation d'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
Vous trouverez ci-dessous les nouvelles fonctionnalités et améliorations de cette version.
Déployer un proxy d'authentification compatible avec les plates-formes
Une amélioration a été apportée pour que la commande utilisée pour déployer le proxy d'autorisation Edge Microgateway dans Edge soit compatible avec les systèmes Windows.
Version 2.1.0
Nouvelles fonctionnalités et améliorations de la 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/TLS aux cibles à l'aide d'un nouvel ensemble d'options de configuration. Consultez la section Utiliser les options SSL/TLS du client.
Version 2.0.11
Remarque 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 page 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 indiqué dans le fichier de configuration. Vous pouvez également spécifier un numéro de port à l'aide de la variable d'environnement PORT. Pour en savoir plus, consultez la commande start.
Conserver facultativement les en-têtes d'authentification
Un nouveau paramètre de configuration, keepAuthHeader, vous permet de conserver l'en-tête d'autorisation envoyé dans la requête. Si cette valeur est définie 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 de la micro passerelle Edge 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 apportées à cette version.
Compatibilité avec les chemins de ressources dans les produits
Edge Microgateway est désormais compatible avec les chemins de ressources dans les produits. Les chemins de ressources vous permettent de limiter l'accès aux API en fonction du suffixe du chemin d'accès du proxy. Pour en savoir plus sur la création de produits et la configuration de chemins de ressources, consultez Créer des produits d'API.
Compatibilité avec l'installation globale npm
Vous pouvez désormais 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
La version 2.0.0 d'Edge Microgateway a été publiée le 18 avril 2016.
Nouvelles fonctionnalités et améliorations de la version 2.0.0
Voici les nouvelles fonctionnalités et améliorations apportées à cette version.
Serveur de processus unique
Edge Microgateway est désormais un serveur à processus unique. Il n'utilise plus un modèle à deux processus, dans lequel un processus (anciennement appelé "agent") lance la micro-passerelle Edge, le deuxième processus. La nouvelle architecture facilite l'automatisation et la conteneurisation.
Fichiers de configuration avec un espace de noms
Les fichiers de configuration sont désormais nommés à l'aide de l'organisation et de l'environnement afin que plusieurs instances de micro-passerelle puissent 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 désormais 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 la micro-passerelle Edge.
Configuration mise en cache
Edge Microgateway utilise un fichier de configuration mis en cache s'il redémarre sans connexion à Apigee Edge.
Mode du cluster
Vous pouvez désormais démarrer Edge Microgateway en mode cluster. Le mode cluster vous permet de tirer parti des systèmes multicœurs. La micro-passerelle utilise le module de cluster Node.js pour cette fonctionnalité. Pour en savoir plus, consultez la documentation Node.js.
Bugs résolus 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 apportées à cette version.
Amélioration des performances
La micro passerelle Edge utilise désormais correctement l'agent HTTP Node.js pour un meilleur regroupement de connexions. Cette amélioration améliore les performances et la stabilité globale en cas de charge élevée.
Compatibilité avec le débogueur à distance
Vous pouvez configurer Edge Microgateway pour qu'il s'exécute avec un débogueur distant, comme node-inspector.
Nouvel emplacement du fichier de configuration
Lorsque vous configurez Edge Microgateway, le fichier agent/config/default.yaml
est désormais 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 de la micro passerelle Edge.
Bugs résolus v1.1.2
Les bugs suivants sont corrigés dans la version 1.1.2.
Description |
---|
L'appel Java pour le proxy edgemicro-internal utilisé avec Edge sur site utilise désormais le bon serveur de gestion. |
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é. |
Correction de la référence de dépendance de la logique de certification. |