Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Questo argomento descrive gli errori e gli avvisi che potresti riscontrare con Edge Microgateway.
Errori generali dell'applicazione
HTTP 500, errore nel gestore degli errori: la maggior parte degli errori avrà questo numero, così come alcuni errori restituiti dalle destinazioni. In particolare, errors-middleware.js viene utilizzato in tutto il modulo microgateway-core. Quando viene utilizzato, scrive statusCodes nei log utilizzando Edge Microgateway
logger object: logger.error(err, 'failed in error handler');. Per i codici ricevuti dai target compresi tra 100 e 300, errors-middleware.js riscrive statusCode a 500 per il ritorno al client.HTTP 404: potresti visualizzare questo stato prodotto come analisi dello stack con il messaggio
no match found for [API_path_name].
Errori e avvisi del modulo
Puoi utilizzare queste informazioni per configurare avvisi che ti aiutano a monitorare e gestire il deployment di Edge Microgateway.
I seguenti termini, che vengono visualizzati nel riferimento agli errori nella sezione "Handler", indicano come vengono gestiti i vari errori in Edge Microgateway.
- assert: in genere, Edge Microgateway si arresta quando la valutazione di un'asserzione non va a buon fine. Tuttavia, potrebbe non essere sempre così, poiché le "asserzioni" generano eccezioni che possono essere rilevate.
- throws: possibile arresto del sistema.
- Callback: l'errore viene passato a un callback e il sistema può continuare.
| Tipo | Messaggio | Handler | Note |
|---|---|---|---|
modulo microgateway |
|||
| errore | org è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.org,"org is required"); |
| errore | env è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.env,"env is required") |
| errore | il nome utente è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.username || options.token,"username is required"); |
| errore | La password è obbligatoria | rivendicare, dichiarare (context sensitive) | assert(options.password || options.token,"password is required") |
| errore | org è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.org,"org is required"); |
| errore | env è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.env,"env is required") |
| errore | il nome utente è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.username || options.token,"username is required"); |
| errore | La password è obbligatoria | rivendicare, dichiarare (context sensitive) | assert(options.password || options.token,"password is required") |
| errore | org è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.org,"org is required"); |
| errore | env è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.env,"env is required") |
| errore | org è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.org,"org is required"); |
| errore | env è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.env,"env is required") |
| errore | il nome utente è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.username, 'username is required'); |
| errore | La password è obbligatoria | rivendicare, dichiarare (context sensitive) | assert(options.password, 'password is required'); |
| errore | org è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.org, 'org is required'); |
| errore | env è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.env, 'env is required'); |
| errore | deve avere un file di destinazione assegnato | rivendicare, dichiarare (context sensitive) | assert(targetFile, 'must have an assigned target file') |
| errore | deve avere una chiave | rivendicare, dichiarare (context sensitive) | assert(key, 'must have a key'); |
| errore | deve avere un secret | rivendicare, dichiarare (context sensitive) | assert(secret, 'must have a secret'); |
| errore | dir deve essere configurato | rivendicare, dichiarare (context sensitive) | assert(dir, 'dir must be configured') |
| errore | il callback deve essere presente | rivendicare, dichiarare (context sensitive) | assert(callback, 'callback must be present') |
| errore | il nome utente è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.username, 'username is required'); |
| errore | La password è obbligatoria | rivendicare, dichiarare (context sensitive) | assert(options.password, 'password is required'); |
| errore | org è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.org, 'org is required'); |
| errore | env è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.env, 'env is required'); |
| errore | runtimeUrl è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| errore | mgmtUrl è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| errore | Il file è obbligatorio | rivendicare, dichiarare (context sensitive) | assert(options.file,"file is required") |
| errore | deve avere un target | rivendicare, dichiarare (context sensitive) | assert(options.target, 'must have target'); |
| errore | plugin non configurati | rivendicare, dichiarare (context sensitive) | assert(config.edgemicro.plugins, 'plugins not configured'); |
| errore | plugin dir does not exist: + pluginDir | rivendicare, dichiarare (context sensitive) | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| errore | plugin dir is not a directory: + pluginDir | rivendicare, dichiarare (context sensitive) | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| errore | errore durante la lettura della directory dei plug-in: + pluginDir | rivendicare, dichiarare (context sensitive) | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| errore | deve avere un token | rivendicare, dichiarare (context sensitive) | assert(token, 'must have a token'); |
| errore | configpath non può essere vuoto | rivendicare, dichiarare (context sensitive) | assert(config, 'configpath can't be empty'); |
| errore | deve avere EDGEMICRO_KEY | rivendicare, dichiarare (context sensitive) | assert(key, 'must have EDGEMICRO_KEY'); |
| errore | deve avere EDGEMICRO_SECRET | rivendicare, dichiarare (context sensitive) | assert(secret, 'must have EDGEMICRO_SECRET'); |
| errore | config does not exist | genera | relativi al file YAML |
| errore | edgemicro sembra essere già in esecuzione. | console.error | tentativo di sovrascrittura di un file .sock |
| errore | Impossibile verificare la presenza di modifiche nella configurazione. Verrà eseguito un nuovo tentativo dopo il giorno | console.error | problema di comunicazione edge |
| errore | Se il server non è in esecuzione, potrebbe essere dovuto a un arresto errato dell'avvio precedente. | console.error | |
| errore | Manca %s, esegui | console.error | Mancante (.*), esegui |
| errore | Il ricaricamento di edgemicro non è andato a buon fine | console.error | livello di comando |
| errore | L'arresto di edgemicro non è riuscito | console.error | Livello di comando |
| errore | "Prova a rimuovere " + ipcPath + " e ricomincia" | console.error | |
| errore | "cache configuration ' + cache + ' does not exist. exiting." | console.error | |
| errore | Impossibile scrivere il file di configurazione: | console.error | La configurazione non riuscirà |
| errore | Il file di configurazione non è stato scaricato: | console.error | La configurazione non riuscirà |
| errore | edge micro failed to start | console.error | Non dovrebbe essere in esecuzione |
| errore | edgemicro non è in esecuzione. | console.error | Controlla il processo, non dovrebbe essere elencato |
| errore | env è obbligatorio | console.error | Variabili di ambiente richieste per l'esecuzione |
| errore | error - editing apiproxy Callout.xml | console.error | Accesso al file |
| errore | error - editing apiproxy default.xml | console.error | Accesso al file |
| errore | errore durante il controllo del certificato. Installazione di un nuovo certificato. | console.error | La chiave pubblica non può essere utilizzata |
| errore | errore durante il recupero della regione per l'organizzazione | console.error | key-gen.js, cert-lib.js e private.js |
| errore | errore durante il caricamento delle credenziali | console.error | Impossibile sincronizzare la chiave pubblica con Edge |
| errore | non riusciti | console.error | key-gen.js |
| errore | Impossibile inizializzare il file configpath %s | console.error | Configurazione non caricata |
| errore | risposta non valida dall'API Region | console.error | key-gen.js, cert-lib.js e private.js |
| errore | la chiave è obbligatoria | console.error | Parametro |
| errore | org è obbligatorio | console.error | Parametro |
| errore | la porta non è disponibile. | console.error | Parametro |
| errore | Il secret è obbligatorio | console.error | Parametro |
| errore | protocollo URL non supportato: | console.error | Le informazioni di configurazione indicano un protocollo internet non incluso nell'ambito di Edge Microgateway |
| errore | verifying analytics negative case: FAIL | console.error | Possibile arresto anomalo/errore |
| errore | verifica dell'analisi con payload: FAIL | console.error | Possibile arresto anomalo/errore |
| errore | verifying bootstrap url availability:FAIL | console.error | Possibile arresto anomalo/errore |
| errore | verifying jwt_public_key availability: FAIL | console.error | Possibile arresto anomalo/errore |
| errore | verifying products availability: FAIL | console.error | Possibile arresto anomalo/errore |
| errore | verifica della quota con i prodotti configurati: NON RIUSCITA | console.error | Possibile arresto anomalo/errore |
| avvisa | Impossibile recuperare la configurazione dal gateway. Continua, verrà utilizzata la copia memorizzata nella cache. | console.error | |
| avvisa | KVM esiste già nella tua organizzazione | console.log | |
| avvisa | è già stato eseguito il deployment | console.log | |
| avvisa | plug-in sequenziato non trovato: | console.warn | |
| avvisa | pluginDir %s non esiste | console.log | pluginDir (.*) non esiste |
modulo microgateway-core |
|||
| errore | config not initialized | rivendicare, dichiarare (context sensitive) | assert(config, 'config not initialized') |
| errore | deve avere una configurazione | rivendicare, dichiarare (context sensitive) | assert(config, ' must have a config') |
| errore | must have config | rivendicare, dichiarare (context sensitive) | assert(config, 'must have config') |
| errore | config deve avere uid | rivendicare, dichiarare (context sensitive) | assert(config.uid, 'config must have uid'); |
| errore | deve avere config.edgemicro.logging in config | rivendicare, dichiarare (context sensitive) | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| errore | deve avere il metodo di richiesta | rivendicare, dichiarare (context sensitive) | assert(httpLibrary.request, 'must have request method'); |
| errore | deve avere il plug-in caricato in memoria | rivendicare, dichiarare (context sensitive) | assert(options.plugin, "must have plugin loaded in memory"); |
| errore | init deve essere una funzione | rivendicare, dichiarare (context sensitive) | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| errore | deve avere il nome del plug-in | rivendicare, dichiarare (context sensitive) | assert(options.pluginName, "must have plugin name"); |
| errore | ignoring invalid plugin handlers + name | rivendicare, dichiarare (context sensitive) | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| errore | options must contain config | rivendicare, dichiarare (context sensitive) | assert(config, 'options must contain config') |
| errore | Il plug-in deve avere un nome | rivendicare, dichiarare (context sensitive) | assert(name,"plugin must have a name") |
| errore | name deve essere una stringa | rivendicare, dichiarare (context sensitive) | assert(_.isString(name),"name must be a string"); |
| errore | plugin deve essere una funzione | rivendicare, dichiarare (context sensitive) | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| errore | deve avere una chiave | rivendicare, dichiarare (context sensitive) | assert(key, 'must have a key'); |
| errore | deve avere un secret | rivendicare, dichiarare (context sensitive) | assert(secret, 'must have a secret'); |
| errore | deve avere una directory di configurazione dell'origine | rivendicare, dichiarare (context sensitive) | assert(source, 'must have a source config directory'); |
| errore | errore durante il caricamento del plug-in | console.error | Plug-in non caricato |
| errore | non riuscito nel gestore degli errori | callback | Funzione HTTP server.on() |
| errore | La lunghezza dell'intestazione supera la dimensione consentita | Errore HTTP | Non esegue il plug-in |
| errore | risposta terminata prima che possa essere eseguito il lavoro | logger.error | Il plug-in di destinazione non viene eseguito |
| errore | il gestore ha generato un'eccezione | callback | Errore di acquisizione dal plug-in (catch) |
| errore | errore durante l'avvio di edge micro | callback | Edge Microgateway non si avvia |
| errore | plugin deve essere una funzione | genera | |
| avvisa | console.error | avvisa | Scrittura del log |
| avvisa | Errore targetRequest | invoca la gestione degli errori del target | Errore del client HTTP in connessione con la destinazione |
| avvisa | Errore targetResponse | invoca la gestione degli errori del target | Errore del server di destinazione HTTP in relazione alla destinazione visualizzata nel client |
modulo microgateway-config |
|||
| errore | allow_message | rivendicare, dichiarare (context sensitive) | assert(+config.quota.allow > 0, allow_message); |
| errore | config does not exist | genera | File YAML di configurazione |
| errore | config è vuoto | genera | File YAML di configurazione |
| errore | config non è un file | genera | File YAML di configurazione |
| errore | config is not defined | rivendicare, dichiarare (context sensitive) | assert(config, 'config is not defined'); |
| errore | config.analytics.batchSize non è valido | rivendicare, dichiarare (context sensitive) | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| errore | config.analytics.batchSize non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| errore | config.analytics.bufferSize non è valido | rivendicare, dichiarare (context sensitive) | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| errore | config.analytics.bufferSize non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| errore | config.analytics.flushInterval non è valido | rivendicare, dichiarare (context sensitive) | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| errore | config.analytics.flushInterval non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| errore | config.analytics.proxy non è "dummy" | rivendicare, dichiarare (context sensitive) | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| errore | config.analytics.proxy non è definito | rivendicare, dichiarare (context sensitive) | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| errore | config.analytics.proxy_revision non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| errore | config.analytics.proxy_revision non è definito | rivendicare, dichiarare (context sensitive) | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| errore | config.analytics.source non è "microgateway" | rivendicare, dichiarare (context sensitive) | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| errore | config.analytics.source non è definito | rivendicare, dichiarare (context sensitive) | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| errore | config.analytics.uri non è una stringa | rivendicare, dichiarare (context sensitive) | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| errore | config.analytics.uri non è definito | rivendicare, dichiarare (context sensitive) | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| errore | config.apikeys.public_key non è definito | rivendicare, dichiarare (context sensitive) | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| errore | config.edge_config non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edge_config, 'config.edge_config is not defined'); |
| errore | config.edge_config.bootstrap non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| errore | config.edge_config.jwt_public_key non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| errore | config.edge_config.proxy deve essere definito se config.edge_config.proxy_tunnel è definito | rivendicare, dichiarare (context sensitive) | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
| errore | config.edge_config.proxy_tunnel non è un valore booleano | rivendicare, dichiarare (context sensitive) | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| errore | config.edge_config.refresh_interval non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| errore | config.edge_config.refresh_interval è troppo piccolo (minimo 1 ora) | rivendicare, dichiarare (context sensitive) | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| errore | config.edge_config.retry_interval non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| errore | config.edge_config.retry_interval è troppo piccolo (minimo 5 secondi) | rivendicare, dichiarare (context sensitive) | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| errore | config.edgemicro non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| errore | config.edgemicro.logging non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| errore | config.edgemicro.logging.dir non è definito | rivendicare, dichiarare (context sensitive) | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| errore | config.edgemicro.logging.level non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| errore | config.edgemicro.max_connections non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| errore | config.edgemicro.max_connections non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| errore | config.edgemicro.plugins.sequence non è un array | rivendicare, dichiarare (context sensitive) | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| errore | config.edgemicro.port non è definito | rivendicare, dichiarare (context sensitive) | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| errore | config.oauth.allowInvalidAuthorization non è definito | rivendicare, dichiarare (context sensitive) | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| errore | config.oauth.allowNoAuthorization non è definito | rivendicare, dichiarare (context sensitive) | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| errore | config.oauth.public_key non è definito | rivendicare, dichiarare (context sensitive) | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| errore | config.oauthv2.public_key non è definito | rivendicare, dichiarare (context sensitive) | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| errore | config.proxies non è definito | rivendicare, dichiarare (context sensitive) | assert(config.proxies, 'config.proxies is not defined'); |
| errore | config.proxy[ + index + ].base_path non è definito | rivendicare, dichiarare (context sensitive) | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| errore | config.proxy[ + index + ].max_connections non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| errore | config.proxy[ + index + ].max_connections non è definito | rivendicare, dichiarare (context sensitive) | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| errore | config.proxy[ + index + ].name is not defined | rivendicare, dichiarare (context sensitive) | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| errore | config.proxy[ + index + ].proxy_name non è definito | rivendicare, dichiarare (context sensitive) | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| errore | config.proxy[ + index + ].revision is not defined | rivendicare, dichiarare (context sensitive) | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| errore | config.proxy[ + index + ].url non è definito | rivendicare, dichiarare (context sensitive) | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| errore | config.quota.allow non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| errore | config.quota.allow non è definito | rivendicare, dichiarare (context sensitive) | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| errore | config.quota.interval non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| errore | config.quota.interval non è definito | rivendicare, dichiarare (context sensitive) | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| errore | config.spikearrest non è definito | rivendicare, dichiarare (context sensitive) | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| errore | config.spikearrest.allow non è valido | rivendicare, dichiarare (context sensitive) | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| errore | config.spikearrest.allow non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| errore | config.spikearrest.allow non è definito | rivendicare, dichiarare (context sensitive) | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| errore | config.spikearrest.bufferSize non è valido | rivendicare, dichiarare (context sensitive) | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| errore | config.spikearrest.bufferSize non è un numero | rivendicare, dichiarare (context sensitive) | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| errore | config.spikearrest.timeUnit non è definito | rivendicare, dichiarare (context sensitive) | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| errore | ERRORE CRITICO: errore durante l'analisi dell'elenco dei prodotti scaricato | callback | |
| errore | ERRORE CRITICO: errore durante l'analisi dell'elenco di proxy scaricato | callback | |
| errore | ERRORE DI CONFIGURAZIONE ERRATA DEL PRODOTTO RILEVATO | console.error | Seguito da console.warn('using old cached configuration'); |
| errore | errore durante la lettura della configurazione da | genera | File YAML di configurazione |
| errore | errore durante il salvataggio della configurazione in | callback | File YAML di configurazione |
| errore | fatal: cached config not available, unable to continue | callback | |
| errore | interval_message | rivendicare, dichiarare (context sensitive) | assert(+config.quota.interval > 0, interval_message); |
| errore | protocollo non valido per config.edge_config.proxy (previsto http: o https:: + proxy_url.protocol) | rivendicare, dichiarare (context sensitive) | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| errore | host proxy non valido per config.edge_config.proxy | rivendicare, dichiarare (context sensitive) | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| errore | Sembra che Edge Micro non sia stato configurato. Consulta la guida per l'amministratore. | callback | Risultato: impossibile caricare la configurazione |
| errore | chiave mancante | rivendicare, dichiarare (context sensitive) | assert(keys.key, 'key is missing'); |
| errore | deve avere configDir | rivendicare, dichiarare (context sensitive) | assert(configDir, 'must have configDir') |
| errore | opzioni indispensabili | rivendicare, dichiarare (context sensitive) | assert(options, 'must have options'); |
| errore | deve avere l'origine | rivendicare, dichiarare (context sensitive) | assert(source, 'must have source') |
| errore | deve avere una fonte da cui caricare | rivendicare, dichiarare (context sensitive) | assert(options.source, 'must have source to load from') |
| errore | deve avere targetFile | rivendicare, dichiarare (context sensitive) | assert(fileName, 'must have targetFile') |
| errore | options cannot be null | rivendicare, dichiarare (context sensitive) | assert(options, 'options cannot be null'); |
| errore | options.keys non può essere null | rivendicare, dichiarare (context sensitive) | assert(options.keys, 'options.keys cannot be null'); |
| errore | port_message | rivendicare, dichiarare (context sensitive) | assert(+config.edgemicro.port < 65536, port_message); |
| errore | products deve essere un array | rivendicare, dichiarare (context sensitive) | assert(Array.isArray(products), 'products should be an array'); |
| errore | "proxies for product ' + product + ' should be an array" | rivendicare, dichiarare (context sensitive) | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| errore | secret mancante | rivendicare, dichiarare (context sensitive) | assert(keys.secret, 'secret is missing'); |
| errore | il target non è impostato | rivendicare, dichiarare (context sensitive) | assert(target, 'target is not set'); |
| avvisa | Errore durante il download della configurazione. Controlla la configurazione di bootstrap. | console.warn | |
| avvisa | Impossibile scaricare jwt_public_key | console.warn | |
| avvisa | Le chiavi JWK non sono abilitate | console.warn | |
| avvisa | message, 'download from', url, 'returned' | console.warn | Cerca: (.*)\sdownload from\s(.*)\sreturned |
| avvisa | Nessun microprodotto per il bordo trovato nella risposta | console.warn | |
| avvisa | nessun micro proxy edge trovato nell'organizzazione | console.warn | |
| avvisa | nessun micro proxy edge trovato nella risposta | console.warn | |
| avvisa | Nessun prodotto trovato nell'organizzazione | console.warn | |
| avvisa | nessun prodotto trovato nella risposta | console.warn | |
| avvisa | utilizzando la vecchia configurazione memorizzata nella cache | console.warn | |
Modulo microgateway-plugins |
|||
| errore | config does not exist | genera | Correlato al file YAML |
| errore | apikey | Risposta HTTP | Errori nel plug-in apiky |
| errore | bauth | Risposta HTTP | Errori nel plug-in bauth |
| errore | extauth | Risposta HTTP | Errori nel plug-in extauth |
| errore | OAuth | Risposta HTTP | Errori nel plug-in OAuth |
| avvisa | Si è verificato un errore durante l'elaborazione di Apigee Analytics. Consentire la continuazione dell'elaborazione della richiesta | logger.error | |
| avvisa | ignoring err | console.warn | plug-in apikeys, oauth e oauthv2 |
| avvisa | errore durante l'analisi del JWT: | console.warn | |
| avvisa | L'oggetto della risposta di giuramento non ha setHeader | console.warn | L'errore del parametro oauth indica che alcuni errori non verranno segnalati. |
| avvisa | L'oggetto della risposta di giuramento non viene fornito dal runtime | console.warn | oauth parameter error |
| avvisa | L'oggetto delle statistiche di giuramento non viene fornito dal runtime | console.warn | oauth parameter error |
Modulo apigeetool-node |
|||
| errore | Eliminazione della cache non riuscita con codice di stato %d', res.statusCode | callback | Generato in deletecache.js. Codice di stato di Apigee Edge. Passa a un callback un errore di analisi dello stack con questo messaggio: done(new Error(errMsg)); |
| errore | Eliminazione del prodotto non riuscita con codice di stato %d', res.statusCode | callback | Generato in deleteproduct.js. Codice di stato di Apigee Edge. Passa a un callback un errore di analisi dello stack con questo messaggio: done(new Error(errMsg)); |
| errore | org, api e revision devono essere specificati. | callback | Generata in fetchproxy.js. Errore di configurazione. |
| errore | Ricevuto l'errore %d durante il recupero del proxy: %j | callback | Generata in fetchproxy.js. Codice di stato diverso da 200. |
| errore | Creazione dell'app non riuscita con il codice di stato %d | callback | Generato in createapp.js. Restituisce tutti gli errori ai callback come errori di analisi dello stack. Non stampa nulla sulla console né crea voci di log. |
| errore | comando + ' non riuscito con codice di stato %d | callback | Generato in command-utils.js. Qualunque comando venga analizzato e passato a questo modulo, qualsiasi codice diverso da 200 o 201 genererà un messaggio di errore. Formatta questo messaggio, ma non lo stampa. Passa un errore di analisi dello stack con il messaggio ai callback. |
| errore | Errore %d durante il recupero del flusso condiviso: %s | callback | Generato in fetchsharedflow.js. Per qualsiasi stato HTTP diverso da 200. Se l'operazione va a buon fine, ma non riesce
a scrivere un file, viene scritto nella console: Failed to write file Error text: [stack_trace_error] |
| errore | Create KeySecret failed with status code %d', res.statusCode | callback | Generato in createappkey.js. Per i codici di stato HTTP di Apigee Edge diversi da 200 o 201. |
| errore | Create Cache failed with status code %d', res.statusCode | callback | Generato in createcache.js. Per i codici di stato HTTP di Apigee Edge diversi da 200 o 201. |
| errore | Create Product failed with status code %d', res.statusCode | callback | Generato in createproduct.js. Per i codici di stato HTTP di Apigee Edge diversi da 201. Se lo stato HTTP è 201, ma la risposta include JSON di errore, questo viene inoltrato al callback. |
| errore | Eliminazione dell'app non riuscita con codice di stato %d', res.statusCode | callback | Generato in deleteapp.js. Per i codici di stato HTTP di Apigee Edge diversi da 200. Se lo stato HTTP è 200, ma la risposta include JSON di errore, questo viene inoltrato al callback. |
| errore | Create Developer non è riuscito con il codice di stato %d', res.statusCode | callback | Generato in createdeveloper.js. Per i codici di stato HTTP di Apigee Edge diversi da 201. Se lo stato HTTP è 201, ma la risposta include JSON di errore, questo viene inoltrato al callback. |
| errore | Eliminazione dello sviluppatore non riuscita con codice di stato %d', res.statusCode | callback | Generata in deletedeveloper.js. Per i codici di stato HTTP di Apigee Edge diversi da 200. Se lo stato HTTP è 200, ma la risposta include JSON di errore, questo viene inoltrato al callback. |
Errori dei 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.