Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
Cet article décrit les erreurs et les avertissements que vous pouvez rencontrer avec Edge Microgateway.
Erreurs générales liées à l'application
HTTP 500, failed in error handler (HTTP 500, échec dans le gestionnaire d'erreurs) : la plupart des erreurs auront ce numéro, ainsi que certaines erreurs renvoyées par les cibles. Plus précisément, errors-middleware.js est utilisé dans l'ensemble du module microgateway-core. Lorsqu'il est utilisé, il écrit les codes d'état dans les journaux à l'aide d'Edge Microgateway
logger object: logger.error(err, 'failed in error handler');
. Pour les codes reçus des cibles comprises entre 100 et 300, errors-middleware.js réécrit le code d'état en 500 pour le renvoyer au client.HTTP 404 : cet état peut être généré sous forme de trace de pile avec le message
no match found for [API_path_name]
.
Erreurs et avertissements liés aux modules
Vous pouvez utiliser ces informations pour configurer des alertes qui vous aident à surveiller et à gérer votre déploiement de micro passerelle Edge.
Les termes suivants, qui apparaissent dans la référence des erreurs sous "Gestionnaire", indiquent comment les différentes erreurs sont gérées dans la micro-passerelle Edge.
- assert: en règle générale, Edge Microgateway s'arrête lorsqu'une évaluation d'assertion échoue. Toutefois, ce n'est pas toujours le cas, car les "asserts" génèrent des exceptions qui peuvent être détectées.
- throws: arrêt possible du système.
- callback: l'erreur est transmise à un rappel et le système peut continuer.
Type | Message | Handler | Remarques |
---|---|---|---|
Module de micro passerelle |
|||
erreur | org est obligatoire | revendiquer [context sensitive] | assert(options.org,"org is required"); |
erreur | env est obligatoire | revendiquer [context sensitive] | assert(options.env,"env is required") |
erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username || options.token,"username is required"); |
erreur | mot de passe obligatoire | revendiquer [context sensitive] | assert(options.password || options.token,"password is required") |
erreur | org est obligatoire | revendiquer [context sensitive] | assert(options.org,"org is required"); |
erreur | env est obligatoire | revendiquer [context sensitive] | assert(options.env,"env is required") |
erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username || options.token,"username is required"); |
erreur | mot de passe obligatoire | revendiquer [context sensitive] | assert(options.password || options.token,"password is required") |
erreur | org est obligatoire | revendiquer [context sensitive] | assert(options.org,"org is required"); |
erreur | env est obligatoire | revendiquer [context sensitive] | assert(options.env,"env is required") |
erreur | org est obligatoire | revendiquer [context sensitive] | assert(options.org,"org is required"); |
erreur | env est obligatoire | revendiquer [context sensitive] | assert(options.env,"env is required") |
erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username, 'username is required'); |
erreur | mot de passe obligatoire | revendiquer [context sensitive] | assert(options.password, 'password is required'); |
erreur | org est obligatoire | revendiquer [context sensitive] | assert(options.org, 'org is required'); |
erreur | env est obligatoire | revendiquer [context sensitive] | assert(options.env, 'env is required'); |
erreur | doit avoir un fichier cible attribué | revendiquer [context sensitive] | assert(targetFile, 'must have an assigned target file') |
erreur | doit comporter une clé | revendiquer [context sensitive] | assert(key, 'must have a key'); |
erreur | doit disposer d'un secret | revendiquer [context sensitive] | assert(secret, 'must have a secret'); |
erreur | dir doit être configuré | revendiquer [context sensitive] | assert(dir, 'dir must be configured') |
erreur | Le rappel doit être présent. | revendiquer [context sensitive] | assert(callback, 'callback must be present') |
erreur | Veuillez saisir un nom d'utilisateur. | revendiquer [context sensitive] | assert(options.username, 'username is required'); |
erreur | mot de passe obligatoire | revendiquer [context sensitive] | assert(options.password, 'password is required'); |
erreur | org est obligatoire | revendiquer [context sensitive] | assert(options.org, 'org is required'); |
erreur | env est obligatoire | revendiquer [context sensitive] | assert(options.env, 'env is required'); |
erreur | runtimeUrl est obligatoire | revendiquer [context sensitive] | assert(options.runtimeUrl, 'runtimeUrl est obligatoire'); |
erreur | mgmtUrl est obligatoire | revendiquer [context sensitive] | assert(options.mgmtUrl, 'mgmtUrl est obligatoire'); |
erreur | Vous devez ajouter un fichier | revendiquer [context sensitive] | assert(options.file,"file is required") |
erreur | doit avoir une cible | revendiquer [context sensitive] | assert(options.target, 'must have target'); |
erreur | plug-ins non configurés | revendiquer [context sensitive] | assert(config.edgemicro.plugins, 'plugins not configured'); |
erreur | Le répertoire du plug-in n'existe pas: + pluginDir | revendiquer [context sensitive] | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
erreur | Le répertoire du plug-in n'est pas un répertoire: + pluginDir | revendiquer [context sensitive] | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
erreur | erreur lors de la lecture du répertoire de plug-in: + pluginDir | revendiquer [context sensitive] | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
erreur | doit comporter un jeton | revendiquer [context sensitive] | assert(token, 'must have a token'); |
erreur | configpath ne peut pas être vide | revendiquer [context sensitive] | assert(config, 'configpath ne peut pas être vide'); |
erreur | doit contenir EDGEMICRO_KEY | revendiquer [context sensitive] | assert(key, 'must have EDGEMICRO_KEY'); |
erreur | doit disposer de EDGEMICRO_SECRET | revendiquer [context sensitive] | assert(secret, 'must have EDGEMICRO_SECRET'); |
erreur | La configuration n'existe pas | génère | en lien avec le fichier YAML |
erreur | edgemicro semble déjà en cours d'exécution. | console.error | tentative d'écrasement d'un fichier .sock |
erreur | Échec de la recherche de modifications dans la configuration. Nouvelle tentative programmée après | console.error | problème de communication avec le bord |
erreur | Si le serveur ne s'exécute pas, cela peut être dû à un arrêt incorrect du démarrage précédent. | console.error | |
erreur | %s manquant, veuillez exécuter | console.error | Manquant (.*), Veuillez exécuter |
erreur | L'actualisation de edgemicro a échoué | console.error | niveau de commande |
erreur | L'arrêt d'edgemicro a échoué | console.error | Niveau de commande |
erreur | "Essayez de supprimer ' + ipcPath + ' et de recommencer" | console.error | |
erreur | 'cache configuration ' + cache + ' does not exist. exiting.' | console.error | |
erreur | Impossible d'écrire le fichier de configuration: | console.error | La configuration échouera |
erreur | Le fichier de configuration n'a pas été téléchargé: | console.error | La configuration échouera |
erreur | Échec du démarrage du micro Edge | console.error | Il ne doit pas s'exécuter. |
erreur | edgemicro n'est pas en cours d'exécution. | console.error | Vérifiez le processus qui ne doit pas être listé. |
erreur | env est obligatoire | console.error | Variables d'environnement requises pour l'exécution |
erreur | erreur - modification de Callout.xml apiproxy | console.error | Accès au fichier |
erreur | erreur - modification du fichier default.xml d'apiproxy | console.error | Accès au fichier |
erreur | erreur lors de la vérification du certificat Installation du nouveau certificat. | console.error | La clé publique ne peut pas être utilisée |
erreur | erreur lors de la récupération de la région pour l'organisation | console.error | key-gen.js, cert-lib.js et private.js |
erreur | erreur lors de l'importation des identifiants | console.error | Impossible de synchroniser la clé publique avec Edge |
erreur | échec | console.error | key-gen.js |
erreur | Échec de l'initialisation du fichier configpath %s | console.error | La configuration ne se charge pas |
erreur | Réponse non valide de l'API de région | console.error | key-gen.js, cert-lib.js et private.js |
erreur | Veuillez indiquer la clé | console.error | Paramètre |
erreur | org est obligatoire | console.error | Paramètre |
erreur | Le port n'est pas disponible. | console.error | Paramètre |
erreur | secret est obligatoire | console.error | Paramètre |
erreur | Protocole d'URL non compatible: | console.error | Les informations de configuration indiquent un protocole Internet qui n'entre pas dans le champ d'application d'Edge Microgateway |
erreur | Vérification du cas négatif d'analyse: ÉCHEC | console.error | Plantage/Échec possible |
erreur | Vérification des données analytiques avec la charge utile: ÉCHEC | console.error | Plantage/Échec possible |
erreur | Vérification de la disponibilité de l'URL d'amorçage:ÉCHEC | console.error | Plantage/Échec possible |
erreur | Vérification de la disponibilité de jwt_public_key: ÉCHEC | console.error | Plantage/Échec possible |
erreur | Vérification de la disponibilité des produits: ÉCHEC | console.error | Plantage/Échec possible |
erreur | Vérification du quota avec les produits configurés: ÉCHEC | console.error | Plantage/Échec possible |
warn | Échec de la récupération de la configuration à partir de la passerelle. Poursuite, essai de la copie mise en cache. | console.error | |
warn | KVM existe déjà dans votre organisation | console.log | |
warn | est déjà déployé | console.log | |
warn | Plug-in séquencé introuvable: | console.warn | |
warn | Le répertoire de plug-ins %s n'existe pas | console.log | Le répertoire de plug-in (.*) n'existe pas |
Module microgateway-core |
|||
erreur | configuration non initialisée | revendiquer [context sensitive] | assert(config, 'config not initialized') |
erreur | doit disposer d'une configuration | revendiquer [context sensitive] | assert(config, ' must have a config') |
erreur | doit être configuré | revendiquer [context sensitive] | assert(config, 'must have config') |
erreur | La configuration doit comporter un uid | revendiquer [context sensitive] | assert(config.uid, 'config must have uid'); |
erreur | config.edgemicro.logging doit être présent dans la configuration | revendiquer [context sensitive] | assert(logConfig, 'must have config.edgemicro.logging in config'); |
erreur | doit comporter une méthode de requête | revendiquer [context sensitive] | assert(httpLibrary.request, 'must have request method'); |
erreur | Le plug-in doit être chargé en mémoire. | revendiquer [context sensitive] | assert(options.plugin, "must have plugin loaded in memory"); |
erreur | init doit être une fonction | revendiquer [context sensitive] | assert(_.isFunction(options.plugin.init), 'init doit être une fonction'); |
erreur | doit contenir le nom du plug-in | revendiquer [context sensitive] | assert(options.pluginName, "must have plugin name"); |
erreur | Ignorement des gestionnaires de plug-in et du nom non valides | revendiquer [context sensitive] | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
erreur | Les options doivent contenir une configuration | revendiquer [context sensitive] | assert(config, 'options must contain config') |
erreur | Vous devez attribuer un nom au plug-in | revendiquer [context sensitive] | assert(name,"plugin must have a name") |
erreur | Le nom doit être une chaîne | revendiquer [context sensitive] | assert(_.isString(name),"name must be a string"); |
erreur | Le plug-in doit être une fonction | revendiquer [context sensitive] | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
erreur | doit comporter une clé | revendiquer [context sensitive] | assert(key, 'must have a key'); |
erreur | doit disposer d'un secret | revendiquer [context sensitive] | assert(secret, 'must have a secret'); |
erreur | doit disposer d'un répertoire de configuration source | revendiquer [context sensitive] | assert(source, 'must have a source config directory'); |
erreur | erreur lors du chargement du plug-in | console.error | Plug-in non chargé |
erreur | Échec dans le gestionnaire d'erreurs | rappel | Fonction server.on() HTTP |
erreur | La longueur de l'en-tête dépasse la taille autorisée | Erreur HTTP | Le plug-in n'est pas exécuté |
erreur | La réponse est terminée avant que le travail ne puisse être effectué | logger.error | Le plug-in cible ne s'exécute pas |
erreur | Le gestionnaire a généré une exception | rappel | Capturer une erreur du plug-in (capturer) |
erreur | erreur de démarrage du micro Edge | rappel | Edge Microgateway ne démarre pas |
erreur | Le plug-in doit être une fonction | génère | |
warn | console.error | avertit | Rédaction de journaux |
warn | Erreur targetRequest | appeler la gestion des erreurs de la cible ; | Erreur de client HTTP lors de la connexion à la cible |
warn | Erreur targetResponse | appeler la gestion des erreurs de la cible | Erreur du serveur cible HTTP lors de la connexion à la cible, comme indiqué dans le client |
Module microgateway-config |
|||
erreur | allow_message | revendiquer [context sensitive] | assert(+config.quota.allow > 0, allow_message); |
erreur | La configuration n'existe pas | génère | Fichier de configuration yaml |
erreur | La configuration est vide | génère | Fichier de configuration yaml |
erreur | La configuration n'est pas un fichier | génère | Fichier de configuration yaml |
erreur | La configuration n'est pas définie | revendiquer [context sensitive] | assert(config, 'config is not defined'); |
erreur | config.analytics.batchSize n'est pas valide | revendiquer [context sensitive] | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
erreur | config.analytics.batchSize n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
erreur | config.analytics.bufferSize n'est pas valide | revendiquer [context sensitive] | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
erreur | config.analytics.bufferSize n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
erreur | config.analytics.flushInterval n'est pas valide | revendiquer [context sensitive] | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
erreur | config.analytics.flushInterval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
erreur | config.analytics.proxy n'est pas "factice" | revendiquer [context sensitive] | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
erreur | config.analytics.proxy n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
erreur | config.analytics.proxy_revision n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
erreur | config.analytics.proxy_revision n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
erreur | config.analytics.source n'est pas "microgateway" | revendiquer [context sensitive] | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
erreur | config.analytics.source n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.source, 'config.analytics.source is not defined'); |
erreur | config.analytics.uri n'est pas une chaîne | revendiquer [context sensitive] | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
erreur | config.analytics.uri n'est pas défini | revendiquer [context sensitive] | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
erreur | config.apikeys.public_key n'est pas défini | revendiquer [context sensitive] | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
erreur | config.edge_config n'est pas défini | revendiquer [context sensitive] | assert(config.edge_config, 'config.edge_config is not defined'); |
erreur | config.edge_config.bootstrap n'est pas défini | revendiquer [context sensitive] | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
erreur | config.edge_config.jwt_public_key n'est pas défini | revendiquer [context sensitive] | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
erreur | config.edge_config.proxy doit être défini si config.edge_config.proxy_tunnel est défini | revendiquer [context sensitive] | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
erreur | config.edge_config.proxy_tunnel n'est pas un booléen | revendiquer [context sensitive] | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
erreur | config.edge_config.refresh_interval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
erreur | config.edge_config.refresh_interval est trop faible (1 h minimum) | revendiquer [context sensitive] | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval est trop faible (1 h minimum)'); |
erreur | config.edge_config.retry_interval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
erreur | config.edge_config.retry_interval est trop faible (5 s minimum) | revendiquer [context sensitive] | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval est trop faible (5 s minimum)'); |
erreur | config.edgemicro n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro, 'config.edgemicro is not defined'); |
erreur | config.edgemicro.logging n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
erreur | config.edgemicro.logging.dir n'est pas défini | revendiquer [context sensitive] | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
erreur | config.edgemicro.logging.level n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
erreur | config.edgemicro.max_connections n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
erreur | config.edgemicro.max_connections n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
erreur | config.edgemicro.plugins.sequence n'est pas un tableau | revendiquer [context sensitive] | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
erreur | config.edgemicro.port n'est pas défini | revendiquer [context sensitive] | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
erreur | config.oauth.allowInvalidAuthorization n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
erreur | config.oauth.allowNoAuthorization n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
erreur | config.oauth.public_key n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
erreur | config.oauthv2.public_key n'est pas défini | revendiquer [context sensitive] | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
erreur | config.proxies n'est pas défini | revendiquer [context sensitive] | assert(config.proxies, 'config.proxies is not defined'); |
erreur | config.proxy[ + index + ].base_path n'est pas défini | revendiquer [context sensitive] | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
erreur | config.proxy[ + index + ].max_connections n'est pas un nombre | revendiquer [context sensitive] | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
erreur | config.proxy[ + index + ].max_connections n'est pas défini | revendiquer [context sensitive] | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
erreur | config.proxy[ + index + ].name n'est pas défini | revendiquer [context sensitive] | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
erreur | config.proxy[ + index + ].proxy_name n'est pas défini | revendiquer [context sensitive] | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
erreur | config.proxy[ + index + ].revision n'est pas défini | revendiquer [context sensitive] | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
erreur | config.proxy[ + index + ].url n'est pas défini | revendiquer [context sensitive] | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
erreur | config.quota.allow n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
erreur | config.quota.allow n'est pas défini | revendiquer [context sensitive] | assert(config.quota.allow, 'config.quota.allow is not defined'); |
erreur | config.quota.interval n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
erreur | config.quota.interval n'est pas défini | revendiquer [context sensitive] | assert(config.quota.interval, 'config.quota.interval is not defined'); |
erreur | config.spikearrest n'est pas défini | revendiquer [context sensitive] | assert(config.spikearrest, 'config.spikearrest is not defined'); |
erreur | config.spikearrest.allow n'est pas valide | revendiquer [context sensitive] | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
erreur | config.spikearrest.allow n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
erreur | config.spikearrest.allow n'est pas défini | revendiquer [context sensitive] | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
erreur | config.spikearrest.bufferSize n'est pas valide | revendiquer [context sensitive] | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
erreur | config.spikearrest.bufferSize n'est pas un nombre | revendiquer [context sensitive] | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
erreur | config.spikearrest.timeUnit n'est pas défini | revendiquer [context sensitive] | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
erreur | ERREUR CRITIQUE: erreur lors de l'analyse de la liste des produits téléchargés | rappel | |
erreur | ERREUR CRITIQUE: erreur lors de l'analyse de la liste de proxy téléchargée | rappel | |
erreur | DETECTED PRODUCT MISCONFIGURATION ERROR | console.error | suivi de console.warn('using old cached configuration'); |
erreur | erreur lors de la lecture de la configuration à partir de | génère | Fichier de configuration yaml |
erreur | erreur lors de l'enregistrement de la configuration dans | rappel | Fichier de configuration yaml |
erreur | fatal: cached config not available, unable to continue | rappel | |
erreur | interval_message | revendiquer [context sensitive] | assert(+config.quota.interval > 0, interval_message); |
erreur | Protocole non valide pour config.edge_config.proxy (http: ou https:: + proxy_url.protocol attendus) | revendiquer [context sensitive] | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'protocole incorrect pour config.edge_config.proxy (http: ou https: attendu): ' + proxy_url.protocol); |
erreur | Hôte proxy non valide pour config.edge_config.proxy | revendiquer [context sensitive] | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
erreur | Il semble que le micro Edge n'ait pas été configuré. Veuillez consulter le guide de l'administrateur. | rappel | Résultat: Échec du chargement de la configuration |
erreur | clé manquante | revendiquer [context sensitive] | assert(keys.key, 'key is missing'); |
erreur | doit avoir configDir | revendiquer [context sensitive] | assert(configDir, 'must have configDir') |
erreur | options obligatoires | revendiquer [context sensitive] | assert(options, 'must have options'); |
erreur | doit avoir une source | revendiquer [context sensitive] | assert(source, 'must have source') |
erreur | doit avoir une source à partir de laquelle charger | revendiquer [context sensitive] | assert(options.source, 'must have source to load from') |
erreur | doit contenir targetFile | revendiquer [context sensitive] | assert(fileName, 'must have targetFile') |
erreur | Les options ne peuvent pas être nulles | revendiquer [context sensitive] | assert(options, 'options ne peut pas être null'); |
erreur | options.keys ne peut pas être nulle | revendiquer [context sensitive] | assert(options.keys, 'options.keys cannot be null'); |
erreur | port_message | revendiquer [context sensitive] | assert(+config.edgemicro.port < 65536, port_message); |
erreur | Les produits doivent être un tableau | revendiquer [context sensitive] | assert(Array.isArray(products), 'products should be an array'); |
erreur | "proxies for product ' + product + ' should be an array' | revendiquer [context sensitive] | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
erreur | secret est manquant | revendiquer [context sensitive] | assert(keys.secret, 'secret is missing'); |
erreur | La cible n'est pas définie | revendiquer [context sensitive] | assert(target, 'target is not set'); |
warn | erreur lors du téléchargement de la configuration, veuillez vérifier la configuration de démarrage | console.warn | |
warn | Échec du téléchargement de jwt_public_key | console.warn | |
warn | Les clés jwk ne sont pas activées | console.warn | |
warn | message, 'download from', url, 'returned' | console.warn | Rechercher: (.*)\sdownload from\s(.*)\sreturned |
warn | Aucun micro-produit Edge trouvé dans la réponse | console.warn | |
warn | Aucun micro proxy de bord trouvé dans l'organisation | console.warn | |
warn | Aucun micro-proxy de bord trouvé en réponse | console.warn | |
warn | aucun produit trouvé dans l'organisation | console.warn | |
warn | Aucun produit trouvé en réponse | console.warn | |
warn | en utilisant une ancienne configuration mise en cache ; | console.warn | |
Module microgateway-plugins |
|||
erreur | La configuration n'existe pas | génère | En rapport avec le fichier YAML |
erreur | apikey | Réponse HTTP | Échecs dans le plug-in apiky |
erreur | bauth | Réponse HTTP | Échecs dans le plug-in bauth |
erreur | extauth | Réponse HTTP | Échecs dans le plug-in extauth |
erreur | Oauth | Réponse HTTP | Échecs dans le plug-in OAuth |
warn | Une erreur s'est produite lors du traitement des données analytiques Apigee. Autoriser la poursuite du traitement de la requête | logger.error | |
warn | ignorer err | console.warn | Plug-ins apikeys, oauth et oauthv2 |
warn | erreur lors de l'analyse du jeton JWT: | console.warn | |
warn | L'objet de réponse oath ne contient pas setHeader | console.warn | L'erreur de paramètre oauth indique que certaines erreurs ne seront pas signalées. |
warn | L'objet de réponse Oath n'est pas fourni par l'environnement d'exécution | console.warn | Erreur de paramètre oauth |
warn | L'objet de statistiques Oath n'est pas fourni par l'environnement d'exécution | console.warn | Erreur de paramètre oauth |
Module apigeetool-node |
|||
erreur | Échec de la suppression du cache avec le code d'état %d', res.statusCode | rappel | Exception générée dans deletecache.js. Code d'état d'Apigee Edge. Transmet au rappel une erreur de trace de pile avec le message suivant: done(new Error(errMsg)); |
erreur | Échec de la suppression du produit avec le code d'état %d', res.statusCode | rappel | Exception générée dans deleteproduct.js. Code d'état d'Apigee Edge. Transmet au rappel une erreur de trace de pile avec le message suivant: done(new Error(errMsg)); |
erreur | Les valeurs org, api et revision doivent toutes être spécifiées. | rappel | Exception générée dans fetchproxy.js. Erreur de configuration |
erreur | Erreur %d reçue lors de la récupération du proxy: %j | rappel | Exception générée dans fetchproxy.js. Code d'état autre que 200. |
erreur | Échec de la création de l'application avec le code d'état %d | rappel | Exception générée dans createapp.js. Transmet toutes les erreurs aux rappels en tant qu'erreurs de trace de pile. N'effectue aucune impression de console ni aucune entrée de journal. |
erreur | La commande + ' a échoué avec le code d'état %d | rappel | Exception générée dans command-utils.js. Pour toute commande analysée et transmise à ce module, tout code autre que 200 ou 201 génère un message d'erreur. Met en forme ce message, mais ne l'imprime pas. Transmet une erreur de trace de la pile avec le message aux rappels. |
erreur | Erreur %d reçue lors de la récupération du flux partagé: %s | rappel | Exception générée dans fetchsharedflow.js. Pour tout code d'état HTTP autre que 200. Si l'opération réussit, mais qu'elle ne parvient pas à écrire de fichier, le message suivant s'affiche dans la console: Échec de l'écriture du fichier Texte d'erreur: [stack_trace_error] |
erreur | Échec de la création de KeySecret avec le code d'état %d', res.statusCode | rappel | Exception générée dans createappkey.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200 ou 201. |
erreur | Échec de la création du cache avec le code d'état %d', res.statusCode | rappel | Exception générée dans createcache.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200 ou 201. |
erreur | Échec de la création du produit avec le code d'état %d', res.statusCode | rappel | Exception générée dans createproduct.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 201. Si l'état HTTP est 201, mais que la réponse inclut un code JSON d'erreur, le code JSON d'erreur est transmis au rappel. |
erreur | Échec de la suppression de l'application avec le code d'état %d', res.statusCode | rappel | Exception générée dans deleteapp.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200. Si l'état HTTP est 200, mais que la réponse inclut un code d'erreur JSON, le code d'erreur JSON est transmis au rappel. |
erreur | Échec de la création du développeur avec le code d'état %d', res.statusCode | rappel | Jetée dans createdeveloper.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 201. Si l'état HTTP est 201, mais que la réponse inclut un code JSON d'erreur, le code JSON d'erreur est transmis au rappel. |
erreur | Échec de la suppression du développeur avec le code d'état %d', res.statusCode | rappel | Exception générée dans deletedeveloper.js. Pour les codes d'état HTTP d'Apigee Edge qui ne sont pas 200. Si l'état HTTP est 200, mais que la réponse inclut un code d'erreur JSON, le code d'erreur JSON est transmis au rappel. |
Erreurs de plug-in
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request
plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response
plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics
plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
access_denied | Copy service message | 403 | In response to the auth service timeout |
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service
plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors
plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient
plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
access_denied | Copy service message | 403 | In response to the auth service timeout |
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase
plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
503 | Too busy. No messages in HTTP or console | ||
default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader
plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor
plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth
plug-in (v1) with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Authorization Header | 400 |
|
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
Access_denied | Copy service message | 403 | In response to the auth service timeout |
invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Authorization Header | 400 |
|
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
access_denied | Copy service message | 403 | In response to the auth service timeout |
invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota
plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
default | 500 | All other not categorized | |
throw | uri parameter must be specified | apigeequota.js | |
throw | key parameter must be specified | apigeequota.js | |
callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory
plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
default | 500 | All other not categorized | |
throw | start time not allowed for month time units | quota.js. volos error on time format. | |
throw | Invalid start time %s | quota.js. volos error on time format. | |
throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest
plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
throw | Invalid timeUnit %s | spikearrest.js | |
callback | key must be a string | spikearrest.js | |
throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase
plug-in with descriptions of possible causes.
No errors generated.