19.03.01 - Notes de version d'Apigee Edge pour le cloud public

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

Le mardi 3 décembre 2019, nous avons commencé à publier une mise à jour de cette version d'Apigee Edge pour le cloud public. (La version originale a été publiée le jeudi 18 avril 2019.)

Nouvelles fonctionnalités et actualités

Vous trouverez ci-dessous les nouvelles fonctionnalités et mises à jour offertes par cette version.

ID du problème Nom du composant Description
Apigee a commencé à publier les mises à jour suivantes le 1er octobre 2019
110995050 Exécution des API

Équilibrage de charge : plus de contrôle pour supprimer les serveurs défaillants

Lors de la configuration d'un équilibreur de charge pour un proxy d'API, vous pouvez déterminer le nombre d'échecs de réponse qui se produisent avant la suppression d'un serveur de la rotation de l'équilibrage de charge. Un échec de réponse signifie qu'Apigee ne reçoit aucune réponse d'un serveur cible. Dans ce cas, le compteur d'échecs s'incrémente d'une unité. Lorsqu'Apigee reçoit une réponse d'une cible, même si la réponse est une erreur HTTP (par exemple, 500), elle est comptabilisée comme une réponse du serveur cible, et le compteur d'échecs est réinitialisé. Pour vous assurer que les réponses HTTP incorrectes (telles que 500) incrémentent également le compteur d'échecs afin de retirer un serveur non opérationnel de la rotation de l'équilibrage de charge dès que possible, vous pouvez ajouter un nouvel élément <ServerUnhealthyResponse> avec des éléments enfants <ResponseCode> à la configuration de votre équilibreur de charge. Edge comptera également les réponses avec ces codes comme des échecs.


<HTTPTargetConnection>
  <LoadBalancer>
    <Algorithm>RoundRobin</Algorithm>
    <Server name="target1" />
    <Server name="target2" />
    <ServerUnhealthyResponse>
        <ResponseCode>500</ResponseCode>
        <ResponseCode>502</ResponseCode>
        <ResponseCode>503</ResponseCode>
    </ServerUnhealthyResponse>
    <MaxFailures>5</MaxFailures>
  </LoadBalancer>
</HTTPTargetConnection>
  
  
130416715 Sécurité

Améliorations apportées à la règle AccessControl

La règle AccessControl détermine les adresses IP qui peuvent appeler un proxy d'API. Un nouvel élément de cette règle donnera aux développeurs d'API plus de contrôle pour identifier les adresses IP à évaluer.

<IgnoreTrueClientIPHeader>: facultatif (la valeur par défaut est "false"). Lorsque cette règle est définie sur "True", la règle ignore l'en-tête True-Client-IP et évalue les adresses IP dans l'en-tête X-Forwarded-For, conformément au comportement d'évaluation X-Forwarded-For que vous avez configuré.


<AccessControl async="false" continueOnError="false"
    enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>

Apigee a publié les mises à jour suivantes le 18 avril 2019
117558815,
119856499,
110548137,
79526748,
72989449,
70712859,
69049041
Exécution des API JWS et JWT
Nous avons ajouté de nouvelles règles pour la prise en charge de JWS et amélioré les règles JWT existantes.

Pour en savoir plus, consultez ce post destiné à la communauté.

122610025 Exécution des API Autoriser Augmente Fault à définir également la raison de l'erreur, ainsi que des variables arbitraires, comme dans "AssignMessage"

Deux nouveaux éléments sont disponibles dans la règle HighlightFault afin de rendre la gestion de FaultRules plus claire et plus efficace.

  • ShortFaultReason est une valeur booléenne qui, lorsqu'elle est définie sur "true", place le nom de la règle dans la variable fault.reason.
  • AssignVariable, disponible dans FaultResponse, vous permet d'affecter la réponse d'erreur à une variable à utiliser par d'autres stratégies dans le flux de proxy d'API.
121149811 Cibles hébergées Limites appliquées aux cibles hébergées

Des limites sont désormais appliquées aux cibles hébergées. Pour en savoir plus, consultez la section Limites.

117659213 Exécution des API Paramétrer les plages d'adresses IP dans la règle AccessControl

Vous pouvez maintenant utiliser des variables de modèle de message pour définir des adresses IP et des masques CIDR dans la règle AccessControl. Par exemple, si vous souhaitez stocker une adresse IP et un masque dans un mappage de clé-valeur (KVM), vous pouvez récupérer ces valeurs à partir d'une variable que vous avez définie dans le flux de proxy de l'API. Cela vous permet de modifier plus facilement les valeurs IP au moment de l'exécution, sans avoir à modifier la configuration de vos règles.

Par exemple, au lieu du code suivant :

<MatchRule action="DENY">
    <SourceAddress mask="24">198.51.100.1</SourceAddress>
</MatchRule>
     

Vous pouvez configurer la règle de cette manière, en supposant que les valeurs sont stockées dans un KVM, et utiliser la règle KeyValueMapOperations pour récupérer les valeurs et les attribuer aux variables indiquées ici:

<MatchRule action="DENY">
    <SourceAddress mask="{kvm.mask.ref}">{kvm.ip.ref}</SourceAddress>
</MatchRule>
     
113599885 Surveillance des API Rôles de surveillance des API

API Monitoring fournit deux rôles: Administrateur de surveillance API et Utilisateur de surveillance API, décrits dans Accéder à la surveillance des API. Elles ont été mises à disposition en décembre 2018.

132256772 Exécution des API En-tête X-Apigee.Message-Timeout ajouté à la requête

Edge ajoute désormais l'en-tête X-Apigee.Message-Timeout à chaque requête. Cet en-tête est destiné à être utilisé en interne par Edge. Ne vous fiez pas aux valeurs des en-têtes X-Apigee.* de vos proxys d'API, car ces en-têtes ne sont pas destinés à un usage client et peuvent être supprimés ou modifiés par Apigee à tout moment.

78575018 Cloud privé / OPDK Ignorer le serveur de gestion pour ignorer l'enregistrement du datastore de la passerelle lorsqu'il existe plusieurs pods de passerelle

Bugs corrigés

Les bugs suivants sont résolus dans cette version. Cette liste est principalement destinée aux utilisateurs qui vérifient si leurs demandes d'assistance ont été corrigées. Elle n'est pas conçue pour fournir des informations détaillées à tous les utilisateurs.

ID du problème Nom du composant Description
Apigee a commencé à publier les correctifs suivants le 3 décembre 2019.
Correctifs de sécurité
Apigee a commencé à publier les correctifs suivants le 29 octobre 2019.
139381794 Serveur de gestion

Traiter les erreurs de suppression du keystore pour que l'appel d'API n'échoue pas

Apigee a commencé à publier les correctifs suivants le 1er octobre 2019.
140761319 Exécution des API

x-apigee.edge.execution.sense.action est toujours défini sur null

139091614 Exécution des API

Dans la stratégie ResponseCache, NIOTheread s'exécute sans rejet du pool de threads

131331305 Core Services"

Les multiples exportateurs de journaux sur les routeurs Apigee entraînent une utilisation intensive du processeur.

136690640 Exécution des API

Erreurs 404 intermittentes dans des organisations spécifiques

140948100 Exécution des API

Le flux partagé déployé ne s'exécute pas sur certains processeurs de messages

Apigee a publié les correctifs suivants le 13 septembre 2019.
132654321 Serveur de gestion Les données des journaux d'audit ne sont pas affichées
131246911 Serveur de gestion Pour les adresses e-mail des développeurs dans un portail, activez la compatibilité avec les domaines plus récents, tels que *.games et *.asia
Apigee a publié les correctifs suivants le 18 avril 2019
123844598 Serveur de gestion Les clés d'application supprimées ne peuvent plus être importées au bout de plus de 24 heures
123588156 Exécution des API La suppression de l'en-tête Content-Length de la réponse échoue avec une erreur 304
122732400 Exécution des API Setting api.timeout overrides io.timeout.millis
122545281 Exécution des API Le masque de données DebugSession pour JSON doit tenir compte du cas où jsonPayload est un tableau
122355807 Serveur de gestion Comportement d'autorisation incorrect pour les utilisateurs disposant de plusieurs rôles
121393556 Exécution des API x_apigee_fault_code est défini sur "org/codehaus/jackson/map/ObjectMapper".
120998548 Interface utilisateur périphérique Typo dans le message d'erreur : "Cert" n'est pas valide ou ne peut pas être approuvé
120990929 Exécution des API La réponse HTTP-413 de Nginx/Apigee-Router indique le type de serveur
120799489 Exécution des API Lorsque vous utilisez httpClient avec un rappel JavaScript asynchrone httpComplete(), la sortie de la session de débogage (trace) est ignorée.
120794339 Exécution des API Dérives des députés volontaires dans l'organisation
120277011 Serveur de gestion Validation des entrées requise: impossible de déployer le proxy si le nom d'hôte du serveur cible **
119976417 Surveillance des API La surveillance des API affiche un temps de réponse de proxy élevé, tandis que les analyses indiquent un temps de réponse cible élevé
119947481 Exécution des API Dans un scénario d'exception, la charge utile à masquer est enregistrée en texte brut.
119877164 Cloud privé / OPDK Les routeurs génèrent des erreurs, le processeur de messages se déconnecte alors que le protocole TLS est activé

Ce correctif sera inclus dans la prochaine version d'Edge pour le Cloud privé.

119816218 Exécution des API Le cache de la réponse ignore l'en-tête "Expire le" s'il renvoie une valeur 0 ou un nombre négatif
119770242 Exécution des API Échec de la communication entre le routeur et le protocole MP entraînant un temps d'arrêt complet: une erreur dans PostClientFlow entraîne une boucle infinie
119443145 Serveur de gestion Le proxy d'API renvoie 404 lorsque ProxyEndpoint est renommé et redéployé
119260281 Exécution des API Erreur de journal \"Impossible d'analyser la chaîne en tant que string3000.0\"
118743407 Serveur de gestion Durée de déploiement du proxy Apigee
118447966 Exécution des API Erreur dans les appels JavaScript sous la version 180608_07 du MP
117549719 Exécution des API Incohérence entre l'URI de la requête et le chemin de base du proxy
117219520 Exécution des API MessageLogging: l'enregistreur Syslog utilise un format de date incorrect par défaut et affiche les millisecondes de manière incorrecte
117116435 Exécution des API Erreurs intermittentes du fichier JavaScript
117091520 Exécution des API JavaCallouts échoue après la version 18.06.08 du processeur de messages
116165318 Exécution des API Les déploiements simultanés d'un même bundle entraînent une exception RepositoryException
116055025 Service Configstore Les processeurs de messages ne présentent pas d'hôtes virtuels ni d'applications après le démarrage
115614498 Exécution des API Assistance concernant l'ILB dans OPDK

Ce correctif sera inclus dans la prochaine version d'Edge pour le Cloud privé.

113972537 Exécution des API Plusieurs P1 - NullPointerException générée à partir du code Node.js dans les proxys Trireme - 500 erreur interne du serveur
113904969 Assistance Apigee Problème avec la suppression des proxys d'API dans les organisations de démonstration
113554802 Exécution des API Échec de la validation de l'assertion SAML avec une exception NullPointerException
113315737 Serveur de gestion Échec du déploiement du proxy en raison d'enregistrements de déploiement manquants dans Zookeeper
112767195 Exécution des API Erreurs DataStore intermittentes lors de l'accès à la règle KVM
112162179 Exécution des API La mise en cache d'un objet JavaScript sans le concaténer peut entraîner des interblocages
111860576 Exécution des API Erreur manquante dans la règle de quota
111671525 Cibles hébergées Les codes de réponse en cas d'échec des cibles hébergées déclenchent un flux d'erreurs dans le proxy
111523933 Extensions(connecteurs) Problème de mise en cache de la règle ExtensionCallout
111420263 Exécution des API Exception ConcurrentModification dans MessageLogging
110843526 Serveur de gestion L'API Management pour la création/la mise à jour du hook de flux doit valider le flux partagé
110805739 Exécution des API La valeur TTL n'est pas définie sur -1 dans le flux CPS lorsque Reuserefreshtoken est défini sur "true" et que le délai d'expiration du jeton d'actualisation n'est pas défini explicitement
110429629 Exécution des API La règle BasicAuthentication émet la variable request.headers.Authorization dans DebugSession
110425503 Exécution des API L'actualisation de Nginx provoque des problèmes de disponibilité du MP
110311540 Exécution des API NPE lorsque le protocole de mesure est arrêté
110161455 Exécution des API AccessEntity doit utiliser la méthode "Extraire par nom d'application" au lieu de récupérer toutes les applications pour les organisations CPS
90695522 Exécution des API context.proxyRequest.asForm génère java.lang.ArrayIndexOutOfBoundsException: 1
79734096 Serveur de gestion Les journaux d'audit des proxys ne filtrent plus sur les proxys
78105568 Serveur de gestion Les déploiements de flux partagés ne figurent pas dans les appels d'API de gestion /org/{org}/sharedflows/{sharedflow}/deployments après la mise à jour d'un flux partagé déployé
77528868 Trirème Régression de trireme: le script server.js s'est fermé avec le code d'état -1: propriété 0 introuvable
73766568 Exécution des API La mise à niveau de 170213_02 vers 171117_01 a entraîné une forte augmentation de la latence pour le proxy avec une cible Trireme/Node
72710481 Exécution des API CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 Exécution des API Gérer les exceptions NPE lors de l'arrêt des routeurs
68833699 Exécution des API Informations sur le proxy d'API qui n'est parfois pas supprimé de l'arborescence de classification des API
67377575 Cibles hébergées Incohérence entre l'enregistrement d'analyse et celui envoyé au client dans un proxy Node.js
112481174 Cibles hébergées Ne pas faire échouer l'annulation du déploiement du proxy en raison d'une erreur Turbo
117171470 Cibles hébergées Corriger le message d'erreur "app.yaml non valide"
67169139 Exécution des API Le format d'horodatage syslog de la règle MessageLogging est incorrect
67165418 Exécution des API Erreur de licence concernant l'utilisation d'un plus grand nombre de processeurs de messages, même si le nombre d'utilisateurs est inférieur à celui sous licence

Ce correctif sera inclus dans la prochaine version d'Edge pour le Cloud privé.

67165195 Exécution des API Valider SAMLAssertion ne vérifie pas la signature d'une assertion intégrée à une réponse signée
66214414 Exécution des API La variable currentstep.flowstate renvoie toujours \"SHARED_FLOW\" lorsqu'elle est référencée à partir d'un flux partagé
65731656 Exécution des API L'API Threat Protection échoue de manière intermittente pour la même requête
133197060 Exécution des API Obtention du délai 57 de la passerelle entre le MP et la cible
110535186 Exécution des API ServiceAppel sans élément de réponse et HTTPTargetConnection pointant vers le proxy: aucun appel SOMETIMES
132443137 Exécution des API Modification du comportement du processeur de messages pour ignorer les en-têtes commençant par X-Apigee-*. Par conséquent, vous devez refactoriser tout code qui utilise des en-têtes X-Apigee-* et remplacer ces en-têtes par des en-têtes compatibles.
125709964 Exécution des API Invalider le cache avec purgeChildEntries qui ne fonctionne pas comme prévu