Edge Microgate 错误参考文档

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

本主题介绍您在使用 Edge Microgate 时可能会遇到的错误和警告。

常规应用错误

  • HTTP 500,在错误处理程序中失败 - 大多数错误以及从目标返回的一些错误都具有此编号。具体而言,整个 microgate-core 模块中使用了 errors- Middleware.js。使用它时,它会使用 Edge Microgate logger object: logger.error(err, 'failed in error handler'); 将 statusCode 写入日志记录。对于从 100 到 300 之间的目标接收到的代码,errors- Middleware.js 将 statusCode 重写为 500,以便返回到客户端。

  • HTTP 404 - 您可能会看到此状态显示为包含消息 no match found for [API_path_name] 的堆栈轨迹。

模块错误和警告

您可以使用此信息来配置提醒,以帮助您监控和管理 Edge Microgate 部署。

以下术语出现在错误参考中的“处理程序”下,表示 Edge Microgate 中各种错误的处理方式。

  • assert:通常,当断言评估失败时,Edge Microgate 将停止。不过,情况并非总是如此,因为“断言”会抛出可能被捕获的异常。
  • throws:系统可能停止运行。
  • callback:错误传递给回调,并且系统可以继续。
类型 消息 Handler 备注

microgate 模块

错误 组织是必填项 断言 assert(options.org,"org is required");
错误 env 是必填项 断言 assert(options.env,"env is required")
错误 “用户名”为必填字段 断言 assert(options.username || options.token,"username is required");
错误 必须提供密码 断言 assert(options.password || options.token,"password is required")
错误 组织是必填项 断言 assert(options.org,"org is required");
错误 env 是必填项 断言 assert(options.env,"env is required")
错误 “用户名”为必填字段 断言 assert(options.username || options.token,"username is required");
错误 必须提供密码 断言 assert(options.password || options.token,"password is required")
错误 组织是必填项 断言 assert(options.org,"org is required");
错误 env 是必填项 断言 assert(options.env,"env is required")
错误 组织是必填项 断言 assert(options.org,"org is required");
错误 env 是必填项 断言 assert(options.env,"env is required")
错误 “用户名”为必填字段 断言 assert(options.username, 'username is required');
错误 必须提供密码 断言 assert(options.password, 'password is required');
错误 组织是必填项 断言 assert(options.org, 'org is required');
错误 env 是必填项 断言 assert(options.env, 'env is required');
错误 必须有已分配的目标文件 断言 assert(targetFile, '必须有一个指定的目标文件')
错误 必须包含键 断言 assert(key, '必须有密钥');
错误 必须包含密钥 断言 assert(secret, '必须有秘密);
错误 则必须对其进行配置 断言 assert(dir, 'dir must be configured')
错误 回调。 断言 assert(回调, '回调必须存在')
错误 “用户名”为必填字段 断言 assert(options.username, 'username is required');
错误 必须提供密码 断言 assert(options.password, 'password is required');
错误 组织是必填项 断言 assert(options.org, 'org is required');
错误 env 是必填项 断言 assert(options.env, 'env is required');
错误 必须提供 runtimeUrl 断言 assert(options.runtimeUrl, 'runtimeUrl is required');
错误 必须提供 mgmtUrl 断言 assert(options.mgmtUrl, 'mgmtUrl is required');
错误 为必填字段 断言 assert(options.file,"file is required")
错误 目标类型必须 断言 assert(options.target, '必须有 target);
错误 未配置插件 断言 assert(config.edgemicro.plugins, 'plugins not configure');
错误 插件目录不存在:+ pluginDir 断言 assert(fs.existsSync(pluginDir), 'plugin dir does not 不存在: ' + pluginDir);
错误 插件 dir 不是目录:+ pluginDir 断言 assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir);
错误 读取插件目录时出错:+ pluginDir 断言 assert(dirs, 'error read plugin dir: ' + pluginDir);
错误 必须具有令牌 断言 assert(token, '必须有令牌');
错误 configpath 不能为空 断言 assert(config, 'configpath can't be empty);
错误 必须包含 EDGEMICRO_KEY 断言 assert(key, '必须有 EDGEMICRO_KEY);
错误 必须包含 EDGEMICRO_SECRET 断言 assert(secret, '必须有 EDGEMICRO_SECRET');
错误 配置不存在 抛出 与 yaml 文件相关
错误 Edgemicro 似乎已在运行。 console.error 尝试覆盖 .sock 文件
错误 未能检查配置中的更改。将在以下时间后重试: console.error 边缘通信问题
错误 如果服务器没有运行,则可能是由于先前启动的错误关闭。 console.error
错误 缺少 %s,请运行 console.error 缺少 (.*),请运行
错误 重新加载 Edgemicro 失败 console.error 命令级别
错误 停止 Edgemicro 失败 console.error 命令级别
错误 “请尝试移除‘ + ipcPath + ’,然后重新开始” console.error
错误 'cache configuration ' + cache + ' does not found. exiting。 console.error
错误 无法写入: console.error 配置将失败
错误 配置文件: console.error 配置将失败
错误 Edge Micro 未能启动 console.error 它不应运行
错误 Edgemicro 未运行。 console.error 检查不应列出的进程
错误 env 是必填项 console.error 运行所需的环境变量
错误 错误 - 修改 apiproxy Callout.xml console.error 文件访问权限
错误 错误 - 修改 apiproxy default.xml console.error 文件访问权限
错误 检查证书时出错。正在安装新证书。 console.error 公钥不能使用
错误 检索组织的区域时出错 console.error key-gen.js、cert-lib.js 和 private.js
错误 上传凭据时出错 console.error 无法将公钥与 Edge 同步
错误 已失败 console.error key-gen.js
错误 未能初始化 configpath 文件 %s console.error 配置未加载
错误 区域 API 返回无效响应 console.error key-gen.js、cert-lib.js 和 private.js
错误 键为必填项 console.error 参数
错误 组织是必填项 console.error 参数
错误 端口不可用。 console.error 参数
错误 密钥为必填项 console.error 参数
错误 网址协议不受支持: console.error 配置信息指明不在 Edge Microgate 范围内的互联网协议
错误 验证 Google Analytics(分析)否定情况:FAIL console.error 可能出现的崩溃/失败情况
错误 使用载荷验证分析:FAIL console.error 可能出现的崩溃/失败情况
错误 验证引导网址可用性:FAIL console.error 可能出现的崩溃/失败情况
错误 验证 jwt_public_key 可用性:FAIL console.error 可能出现的崩溃/失败情况
错误 验证商品库存状况:未通过 console.error 可能出现的崩溃/失败情况
错误 与已配置的产品验证配额:未通过 console.error 可能出现的崩溃/失败情况
警告 未能从网关检索配置。继续操作将尝试缓存副本。 console.error
警告 您的组织中已存在 KVM console.log
警告 已部署 console.log
警告 找不到序列插件: console.warn
警告 pluginDir %s 不存在 console.log pluginDir (.*) 不存在

microgate-core 模块

错误 配置未初始化 断言 assert(config, 'config not started')
错误 必须具有配置 断言 assert(config, ' must have a config')
错误 必须具有配置 断言 assert(config, '必须有 config')
错误 配置必须包含 uid 断言 assert(config.uid, 'config must have uid');
错误 配置中必须包含 config.edgemicro.logging 断言 assert(logConfig, '必须有 config.edgemicro.logging in config');
错误 必须具有请求方法 断言 assert(httpLibrary.request, '必须有请求方法);
错误 必须在内存中加载插件 断言 assert(options.plugin, "必须已在内存中加载插件");
错误 init 必须是一个函数 断言 assert(_.isFunction(options.plugin.init), 'init 必须是一个函数');
错误 必须具有插件名称 断言 assert(options.pluginName, "必须有插件名称");
错误 忽略无效插件处理程序 + 名称 断言 assert(_.isObject(interware), 'ignoring invalid plugin notifications ' + name);
错误 选项必须包含配置 断言 assert(config, 'options must include config')
错误 插件必须具有 断言 assert(name,"plugin must have a name")
错误 名称必须是字符串 断言 assert(_.isString(name),"name must be a string");
错误 插件必须是一个函数 断言 assert(_.isFunction(plugin),"插件必须是 function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}");
错误 必须包含键 断言 assert(key, '必须有密钥');
错误 必须包含密钥 断言 assert(secret, '必须有秘密);
错误 必须具有源配置目录 断言 assert(source, ' must have a source config directory);
错误 加载插件时出错 console.error 插件未加载
错误 在错误处理程序中失败 回调 HTTP server.on() 函数
错误 标头长度超过允许的大小 HTTP 错误 不运行插件
错误 响应在工作完成前完成 logger.error 目标插件不运行
错误 处理程序抛出异常 回调 从插件中捕获错误 (catch)
错误 错误起始边缘 (micro) 回调 Edge Microgate 无法启动
错误 插件必须是一个函数 抛出
警告 console.error 警告 日志写入
警告 targetRequest 错误 调用目标错误处理 与目标有关的 HTTP 客户端错误
警告 targetResponse 错误 调用目标错误处理 客户端中显示的与目标相关的 HTTP 目标服务器错误

microgate-config 模块

错误 allow_message 断言 assert(+config.quota.allow > 0, allow_message);
错误 配置不存在 抛出 配置 yaml 文件
错误 配置为空 抛出 配置 yaml 文件
错误 config 不是文件 抛出 配置 yaml 文件
错误 配置未定义 断言 assert(config, 'config is notundefined');
错误 config.analytics.batchSize 无效 断言 assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid');
错误 config.analytics.batchSize 不是数字 断言 assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number');
错误 config.analytics.bufferSize 无效 断言 assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid');
错误 config.analytics.bufferSize 不是数字 断言 assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number');
错误 config.analytics.flushInterval 无效 断言 assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval 无效');
错误 config.analytics.flushInterval 不是数字 断言 assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval 不是一个数字');
错误 config.analytics.proxy 不是“虚拟” 断言 assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"');
错误 未定义 config.analytics.proxy 断言 assert(config.analytics.proxy, 'config.analytics.proxy is notdefinition');
错误 config.analytics.proxy_revision 不是数字 断言 assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number');
错误 config.analytics.proxy_revision 未定义 断言 assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not provided');
错误 config.analytics.source 不是“microgate” 断言 assert(config.analytics.source === 'microgate', 'config.analytics.source is not "microgate"');
错误 未定义 config.analytics.source 断言 assert(config.analytics.source, 'config.analytics.source is not provided');
错误 config.analytics.uri 不是字符串 断言 assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string');
错误 config.analytics.uri 未定义 断言 assert(config.analytics.uri, 'config.analytics.uri is not 您只需定义)
错误 config.apikeys.public_key 未定义 断言 assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not provided');
错误 config.edge_config 未定义 断言 assert(config.edge_config, 'config.edge_config is notdefine');
错误 未定义 config.edge_config.bootstrap 断言 assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap 没有定义});
错误 config.edge_config.jwt_public_key 未定义 断言 assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is notundefined');
错误 如果定义了 config.edge_config.proxy_tunnel,则必须定义 config.edge_config.proxy 断言 assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy is must 定义 if config.edge_config.proxy_tunnel 已定义]);
错误 config.edge_config.proxy_tunnel 不是布尔值 断言 assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean');
错误 config.edge_config.refresh_interval 不是数字 断言 assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number');
错误 config.edge_config.refresh_interval 太小(至少 1 小时) 断言 assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)');
错误 config.edge_config.retry_interval 不是数字 断言 assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number');
错误 config.edge_config.retry_interval 太小(至少 5 秒) 断言 assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is small (min 5s)');
错误 config.edgemicro 未定义 断言 assert(config.edgemicro, 'config.edgemicro 未定义');
错误 config.edgemicro.logging 未定义 断言 assert(config.edgemicro.logging, 'config.edgemicro.logging is is not provided');
错误 未定义 config.edgemicro.logging.dir 断言 if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is notDefinition');
错误 config.edgemicro.logging.level 未定义 断言 assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not provided');
错误 config.edgemicro.max_connections 不是数字 断言 assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections 不是一个数字');
错误 config.edgemicro.max_connections 未定义 断言 assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is notundefined');
错误 config.edgemicro.plugins.sequence 不是数组 断言 assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence 不是数组');
错误 config.edgemicro.port 未定义 断言 assert(config.edgemicro.port, 'config.edgemicro.port is not provided');
错误 config.oauth.allowInvalidAuthorization 未定义 断言 assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not provided');
错误 config.oauth.allowNoAuthorization 未定义 断言 assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not 如果您定义);
错误 config.oauth.public_key 未定义 断言 assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not provided');
错误 config.oauthv2.public_key 未定义 断言 assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not provided');
错误 config.proxies 未定义 断言 assert(config.proxies, 'config.proxies is not 您只需定义)
错误 config.proxy[ + 索引 + ].base_path 未定义 断言 assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not supported');
错误 config.proxy[ + 索引 + ].max_connections 不是数字 断言 assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number');
错误 config.proxy[ + 索引 + ].max_connections 未定义 断言 assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not provided');
错误 config.proxy[ + 索引 + ].name 未定义 断言 assert(proxy.name, 'config.proxy[' + index + '].name is not provided');
错误 config.proxy[ + 索引 + ].proxy_name 未定义 断言 assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not provided');
错误 config.proxy[ + 索引 + ].revision 未定义 断言 assert(proxy.revision, 'config.proxy[' + index + '].revision is notDefinition');
错误 config.proxy[ + 索引 + ].url 未定义 断言 assert(proxy.url, 'config.proxy[' + index + '].url is not provided');
错误 config.quota.allow 不是数字 断言 assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number');
错误 config.quota.allow 未定义 断言 assert(config.quota.allow, 'config.quota.allow is not provided');
错误 config.quota.interval 不是数字 断言 assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number');
错误 config.quota.interval 未定义 断言 assert(config.quota.interval, 'config.quota.interval is not provided');
错误 config.spikearrest 未定义 断言 assert(config.spikearrest, 'config.spikearrest is not provided');
错误 config.spikearrest.allow 无效 断言 assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid');
错误 config.spikearrest.allow 不是数字 断言 assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number');
错误 config.spikearrest.allow 未定义 断言 assert(config.spikearrest.allow, 'config.spikearrest.allow is notundefined');
错误 config.spikearrest.bufferSize 无效 断言 assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid');
错误 config.spikearrest.bufferSize 不是数字 断言 assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number');
错误 config.spikearrest.timeUnit 未定义 断言 assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is notundefined');
错误 严重错误:解析下载的商品列表时出错 回调
错误 严重错误:解析已下载的代理列表时出错 回调
错误 检测到的产品错误配置错误 console.error 后跟 console.warn('using old cache configuration');
错误 从以下来源读取配置时出错: 抛出 配置 yaml 文件
错误 将配置保存到 回调 配置 yaml 文件
错误 严重:缓存配置不可用,无法继续 回调
错误 interval_message 断言 assert(+config.quota.interval > 0, interval_message);
错误 config.edge_config.proxy 协议无效(应为 http: 或 https:: +proxy_url.protocol) 断言 assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'config.edge_config.proxy 的无效协议(预期的 http: 或 https:): ' +proxy_url.protocol);
错误 config.edge_config.proxy 的代理主机无效 断言 assert(proxy_url.hostname, 'invalid Proxy host for config.edge_config.proxy: ' +proxy_url.hostname);
错误 似乎尚未配置 Edge Micro,请参阅管理员指南 回调 结果:未能加载配置
错误 键缺失 断言 assert(keys.key, 'key is missing');
错误 必须具有 configDir 断言 assert(configDir, '必须有 configDir')
错误 必须具有选项 断言 assert(options, '必须有选项');
错误 必须包含来源 断言 assert(源, '必须有源')
错误 必须有要加载的来源 断言 assert(options.source, '必须有源加载来源')
错误 必须具有 targetFile 断言 assert(fileName, '必须有 targetFile')
错误 选项不能为 null 断言 assert(options, 'options cannot be null');
错误 options.keys 不能为 null 断言 assert(options.keys, 'options.keys cannot be null');
错误 port_message 断言 assert(+config.edgemicro.port < 65536, port_message);
错误 商品应为数组 断言 assert(Array.isArray(products), 'products should be an array');
错误 “产品代理‘ + 产品 + ’应为数组” 断言 assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array');
错误 缺少密钥 断言 assert(keys.secret, 'secret is missing');
错误 未设置目标 断言 assert(target, 'target is not set');
警告 下载配置时出错,请检查引导配置 console.warn
警告 未能下载 jwt_public_key console.warn
警告 jwk 键未启用 console.warn
警告 message、'download from'、url、'returned' console.warn 搜索:(.*)\sdownload from\s(.*)\sreturned
警告 响应中未找到 Edge Micro 产品 console.warn
警告 组织中未找到任何边缘微代理 console.warn
警告 响应中未找到任何边缘微代理 console.warn
警告 在组织中找不到任何产品 console.warn
警告 响应中未找到商品 console.warn
警告 使用旧的缓存配置 console.warn

microgate-plugins 模块

错误 配置不存在 抛出 与 yaml 文件相关
错误 apikey HTTP 响应 apiky 插件中的失败情况
错误 bauth HTTP 响应 bauth 插件中的失败情况
错误 extauth HTTP 响应 extauth 插件中的失败情况
错误 OAuth HTTP 响应 OAuth 插件中的失败情况
警告 处理 Apigee 分析时遇到错误。允许继续处理请求 logger.error
警告 忽略错误 console.warn apikeys、OAuth 和 oauthv2 插件
警告 解析 jwt 时出错: console.warn
警告 oath 响应对象缺少 setHeader console.warn oauth 参数错误表示将不报告某些错误。
警告 运行时未提供 oath 响应对象 console.warn oauth 参数错误
警告 运行时不提供 oath 统计信息对象 console.warn oauth 参数错误

apigeetool-node 模块

error 删除缓存失败,状态代码为 %d',res.statusCode callback 抛出 deletecache.js。Apigee Edge 中的状态代码。 传递回调,并显示以下消息:done(new Error(errMsgAPI)
error 未能删除产品,状态代码为 %d',res.statusCode callback 抛出 deleteproduct.js。Apigee Edge 中的状态代码。 传递回调,并显示以下消息:done(new Error(errMsgAPI)
error 必须全部指定组织、API 和修订版本! callback 在 fetchproxy.js 中抛出。配置错误。
error 提取代理时收到 %d 错误:%j callback 在 fetchproxy.js 中抛出。状态代码,而非 200。
error 创建应用失败,状态代码为 %d callback 在 createapp.js 中抛出。将所有错误作为堆栈轨迹错误传回回调。 不输出任何控制台日志或日志条目。
error Command + ' 失败,状态代码为 %d callback 在 Command-utils.js 中抛出。对于经过解析并传递给此模块的任何命令,任何非 200 或 201 的代码都将生成错误消息。设置此消息的格式,但不打印。将堆栈轨迹错误随消息传回回调。
error 提取共享流时收到错误 %d:%s callback 在 fetchsharedflow.js 中抛出。适用于任何非 200 的 HTTP 状态。如果成功但未能写入文件,则会写入控制台:
未能写入文件
错误文本:[stack_trace_error]
error 创建 KeySecret 失败,状态代码为 %d',res.statusCode callback 在 createappkey.js 中抛出。适用于 Apigee Edge 中非 200 或 201 的 HTTP 状态代码。
error 创建缓存失败,状态代码为 %d',res.statusCode callback 在 createcache.js 中抛出。适用于 Apigee Edge 中非 200 或 201 的 HTTP 状态代码。
error 创建产品失败,状态代码为 %d',res.statusCode callback 在 createproduct.js 中抛出。适用于 Apigee Edge 中非 201 的 HTTP 状态代码。 如果 HTTP 状态为 201,但响应包含错误 JSON,系统会将错误 JSON 转发到回调函数。
error 删除应用失败,状态代码为 %d',res.statusCode callback 在 deleteapp.js 中抛出。适用于 Apigee Edge 中非 200 的 HTTP 状态代码。 如果 HTTP 状态为 200,但响应包含错误 JSON,系统会将错误 JSON 转发到回调函数。
error 创建开发者失败,状态代码为 %d',res.statusCode callback 在 createdeveloper.js 中抛出。适用于 Apigee Edge 中非 201 的 HTTP 状态代码。 如果 HTTP 状态为 201,但响应包含错误 JSON,系统会将错误 JSON 转发到回调函数。
error 未能删除开发者,状态代码为 %d',res.statusCode callback 抛出 deletedeveloper.js。适用于 Apigee Edge 中非 200 的 HTTP 状态代码。 如果 HTTP 状态为 200,但响应包含错误 JSON,系统会将错误 JSON 转发到回调函数。

插件错误

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.

Parsing errors are sent to a callback.

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
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
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
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
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.