API网关错误码表。
1. API网关错误码表(VPC实例)
本章节的错误代码表适用于
VPC共享实例
和
VPC专享实例
。
-
当客户端收到的应答中
X-Ca-Error-Code
头不为空,表示应答码由API网关产生,错误码由一个6位长度的字符描述,请参考下表,而X-Ca-Error-Message
表示错误的应答信息,用于描述该场景下更详细的一些错误信息。 -
如果
X-Ca-Error-Code
头为空,则表示这个HTTP应答码由后端服务产生,API网关透传了来自后端的错误信息。
错误代码 |
HTTP状态码 |
Message |
描述 |
I400HD |
400 |
Invalid Header `${HeaderName}` ${Reason} |
HTTP请求头非法 |
I400MH |
400 |
Header `${HeaderName}` is Required |
缺少HTTP请求头 |
I400BD |
400 |
Invalid Body: ${Reason} |
HTTP请求包体非法 |
I400PA |
400 |
Invalid Request Path `${Reason}` |
HTTP请求路径非法 |
I405UM |
405 |
Unsupported Method `${Reason}` |
不支持的HTTP请求方法 |
I400RU |
400 |
Invalid Request Uri `${Reason}` |
HTTP请求URL非法 |
I403PT |
403 |
Invalid protocol ${Protocol} unsupported |
使用了API配置中不支持的协议,请检查API配置的协议 |
I413RL |
413 |
Request body too Large |
请求包体过长,相关限制参考 使用限制 |
I413UL |
413 |
Request URL too Large |
请求URL过长,相关限制参考 使用限制 |
I400CT |
400 |
Invalid Content-Type: `${Reason}` |
非法的`Content-Type` |
I404DO |
404 |
Invalid Domain `${DomainName}` |
未知的请求域名,请使用绑定的域名进行调用 |
I410GG |
410 |
Group's instance invalid |
请求了非法的实例,分组可能已经不属于当前实例 |
I400SG |
400 |
Invalid Stage |
请求了未知的环境 |
I404NF |
404 |
API not found ${Reason} |
根据请求的`Path`,`Method`在当前的环境中未找到API,请参考 I404NF错误码排查 |
X400PM |
400 |
Invalid plugin meta ${PluginName} ${Reason} |
插件元数据非法 |
X500ED |
500 |
Expired api definition |
过期的老版本元数据已经不被新版本API网关支持,需要 提交工单 修改老版本元数据 |
X500AM |
500 |
Invalid Api Meta, try deploy again or contact us via ticket |
保存的元数据定义格式错误,需要 提交工单 修复 |
X403DG |
403 |
Bad Domain or Group: ${Reason} |
分组数据非法 |
B451DO |
451 |
Unavailable Domain for Legal Reasons |
域名因法律法规问题被禁 |
B451GO |
451 |
Unavailable Group for Legal Reasons |
分组因法律法规问题被禁 |
B403OD |
403 |
Provider Account Overdue |
API提供方欠费,若是云市场购买的API,请联系服务商处理 |
A401AC |
401 |
Invalid AppCode ${Reason} |
当使用AppCode模式授权时,未找到AppCode,请核实App是否授权,AppCode是否有误 |
A400IK |
400 |
Invalid AppKey |
当使用`Key/Secret`签名授权时,未找到AppKey |
A403IS |
403 |
Invalid Signature, Server StringToSign:`${StringToSign}` |
签名不匹配,排查请参考 Invalid Signature |
A403EP |
403 |
App authorization expired |
授权已过期,请重新授权 |
A403PR |
403 |
Plugin Authorization Needed |
需要插件授权 |
A400MA |
400 |
Need authorization, `X-Ca-Key` or `Authorization: APPCODE ...` is required |
需要使用`Key/Secret`签名授权或`AppCode`授权 |
I400I5 |
400 |
Invalid Content-MD5 ${Reason} |
不匹配的`Content-MD5` |
I400NC |
400 |
X-Ca-Nonce is required |
当设置了`使用X-Ca-Nonce防重放`选项时,必须提供`X-Ca-Nonce`头 |
S403NU |
403 |
Nonce Used |
检测到请求重放,请求的`X-Ca-Nonce`头重复 |
S403TE |
403 |
X-Ca-Timestamp is expired |
`X-Ca-Timestamp`头中提供的时间戳已过期,时间戳有效期15分钟 |
I400MP |
400 |
Parameter `${ParameterName}` is required |
API中配置的必填参数未传值 |
I400IP |
400 |
Invalid parameter `${ParameterName}` ${Reason} |
API中配置的参数值非法 |
I400JR |
400 |
JWT required |
未找到JWT参数 |
S403JI |
403 |
Claim `jti` is required when `preventJtiReplay:true` |
当在`JWT授权插件`中配置了防重放功能时,请求未提供有效的`jti` |
A403SV |
403 |
Claim `jti` in JWT is used |
当在`JWT授权插件`中配置了防重放功能时,请求提供的`jti`已被使用 |
I400JD |
400 |
JWT Deserialize Failed: `${Token}` |
请求中提供的`JWT`解析失败 |
A403JT |
403 |
Invalid JWT: ${Reason} |
请求中提供的`JWT`非法 |
A403JK |
403 |
No matching JWK, `${kid}` not found |
请求`JWT`中的`kid`没有匹配的`JWK` |
A403JE |
403 |
JWT is expired at `${Date}` |
请求中提供的`JWT`已过期 |
I400JP |
400 |
Invalid JWT plugin config: ${JWT} |
`JWT授权`插件配置错误 |
A403OL |
403 |
OAuth2 Login failed: ${Reason} |
|
A403OU |
403 |
OAuth2 Get User Info failed: ${Reason} |
|
A401OT |
401 |
Invalid OAuth2 Access Token |
|
A401OM |
401 |
OAuth2 Access Token is required |
|
T429ID |
429 |
Throttled by INNER DOMAIN Flow Control, ${Domain} is a test domain, only 1000 requests per day |
当使用默认二级域名访问时,限制1000次/天,(海外Region及中国香港限制100次/天),请绑定正式域名以解除这个限制 |
T429IN |
429 |
Throttled by INSTANCE Flow Control |
触发当前实例的流控限制,请升级实例规格 |
T429GR |
429 |
Throttled by GROUP Flow Control |
触发当前分组的流控限制,请升级实例规格 |
T429PA |
429 |
Throttled by API Flow Control |
触发插件上的默认API流控 |
T429PR |
429 |
Throttled by PLUGIN Flow Control |
触发插件的特殊流控 |
T429SR |
429 |
Throttled by SERVER Flow Control |
|
T429MR |
429 |
Too Many Requests, throttle by `${Description}` |
|
A403IP |
403 |
Access denied by IP Control Policy |
被`IP访问控制插件`阻止访问 |
A403IN |
403 |
Access from internet is disabled ${Reason} |
`API`或`API分组`禁止从公网访问,请从内网调用,文档参考 私网调用API |
A403VN |
403 |
Access from invalid VPC is disabled |
来源VPC被阻止 |
A403AC |
403 |
Access Control Forbidden by ${RuleName} |
被`授权控制`插件阻止 |
A403CO |
403 |
Cross origin resource forbidden ${Domain} |
被CORS策略阻止访问 |
I404CO |
404 |
Cross origin resource not found ${Method} - ${Path} |
根据CORS预检请求中的Path与Method,无法找到API定义 |
I404CH |
404 |
Content not cached, with `Cache-Control:only-if-cached` |
|
I404NR |
404 |
${Resource} not found |
|
I404SR |
404 |
Stage route missing: ${Reason} |
|
B403MO |
403 |
Api Market Subscription overdue |
API提供商欠费,请联系服务商处理 |
B403MQ |
403 |
Api Market Subscription quota exhausted |
购买的云市场API配额已耗尽,请续费次数 |
B403ME |
403 |
Api Market Subscription expired |
API订购关系已过期,请重新订购 |
B403MI |
403 |
Api Market Subscription invalid |
API市场订购关系非法 |
D504RE |
504 |
Backend domain `${Domain}` resolve failed |
后端域名解析失败,请核实后端域名解析 |
D504IL |
504 |
Backend domain `${Domain}` resolve to illegal address `${Address}` |
后端域名解析结果非法 |
D504CO |
504 |
Backend service connect failed `${Reason}` |
后端连接失败,请检查安全组、后端服务器启动状态、或防火墙配置,排查可参考 D504CO错误码排查 |
504 |
Backend service connect failed `Connection lease request time out` |
API网关实例后端连接池不够用导致的后端连接失败,请升级实例规格 |
|
D504CS |
504 |
Backend http ssl connect failed `${Reason}` |
后端HTTPS连接失败,请检查后端配置的协议与端口是否匹配 |
D504TO |
504 |
Backend service request timeout |
API网关请求后端超时,请调整后端超时时间或提高后端服务响应速度 |
X504VE |
504 |
Backend service vpc mapped failed |
后端VPC映射错误 |
D503BB |
503 |
Backend circuit breaker busy |
API被断路器阻止 |
D503CB |
503 |
Backend circuit breaker open, ${Reason} |
API处于熔断/断路器开状态,请检查后端性能 |
I508LD |
508 |
Loop Detected |
检测到环回调用 |
I404DD |
404 |
Device id ${DeviceId} not found |
当使用WebSocket双向通信调用时,DeviceId未找到 |
A403FC |
403 |
Function Compute AssumeRole failed ${RequestId}:${Reason} |
后端是函数计算时授权错误 |
D502FC |
502 |
Function Compute response invalid: ${Reason} |
后端是函数计算时,来自后端的应答非法 |
N502RE |
502 |
Send Response IO Exception: ${Reason} |
发送应答给客户端时报错,常见于客户端提前关闭连接或网络错误 |
X500ER |
500 |
Service Internal Error |
服务器内部错误,请 提交工单 联系工作人员 |
X503BZ |
503 |
Service Busy |
API网关服务忙,请稍后再试 |
X504TO |
504 |
Service timeout |
API网关处理超时,请 提交工单 联系工作人员 |
部分错误代码可能随着升级或新功能的加入而改变。
2. 管控OpenAPI错误代码表
当您调用API网关开放的管控OpenAPI时,如CreateAPI、ModifyAPI、DeleteAPI等,您可能遇到以下错误码。
2.1. 服务端错误码
HttpCode为5xx,表示服务不可用。此时建议重试。
错误代码 |
描述 |
HTTP 状态码 |
语义 |
解决方案 |
ServiceUnavailable |
The request has failed due to a temporary failure of the server. |
503 |
服务不可用 |
建议重试。 |
InternalError |
The request processing has failed due to some unknown error, exception or failure. |
500 |
内部错误 |
建议重试。 |
2.2. 客户端错误码
HttpCode为4xx,表示业务错误。一般为参数错误、权限限制、业务逻辑错误等问题,此时需要仔细查看错误码,并针对性解决问题。
错误代码 |
描述 |
HTTP 状态码 |
语义 |
解决 |
Repeated%s |
The specified %s is repeated. |
400 |
某参数重复(%s 是占位符,实际调用会给出明确的参数名或提示。) |
建议按照提示修改重复的参数后重试。 |
RepeatedCommit |
Resubmit request. |
400 |
请求重复 |
请不要频繁提交请求。 |
Missing%s |
The %s is mandatory for this action. |
400 |
缺少参数 %s |
根据具体返回补充缺少的参数,重试请求。 |
MissingAppIdOrAppOwner |
AppId or AppOwner must have a valid value. |
400 |
缺少参数 AppId 或者 AppOwner |
参数 AppId 和 AppOwner 不能同时为空。 |
Invalid%s |
The specified parameter %s value is not valid. |
400 |
参数无效 |
根据返回提示的具体参数,查看相关参数约束,修改后重试。 |
NotFound%s |
Cannot find resource according to your specified %s. |
400 |
找不到资源 |
根据指定的参数%s找不到资源,建议检查%s是否正确。 |
InvalidFormat%s |
The specified parameter %s value is not well formatted. |
400 |
参数格式错误 |
建议根据实际返回提示,查看%s的格式要求,修改后重试。 |
Duplicate%s |
The specified parameter %s value is duplicate. |
400 |
参数重复 |
某请求参数不允许重复,建议检查修正后重试。 |
DependencyViolation%s |
The specified %s has %s definitions. |
400 |
参数依赖错误 |
指定参数被依赖,不能随意删除,请先解除依赖。 |
Forbidden%s |
Not allowed to operate on the specified %s. |
403 |
无权操作/操作禁止 |
您无权执行该操作。 |
NoPermission |
User is not authorized to operate on the specified resource. |
403 |
无权操作 |
RAM 鉴权不通过。 |
ExceedLimit%s |
The specified %s count exceeds the limit. |
400 |
超出个数限制 |
一般指用户账户下创建的 API、API 分组或者APP超出个数限制。 |
UserNotFound |
The specified user can not be found. |
404 |
指定用户找不到 |
根据输入的用户信息找不到该用户。 |
DomainCertificateNotFound |
Cannot find the domain certificate. |
400 |
指定域名证书不存在 |
建议检查传入的证书 ID 及名称。 |
DomainNotResolved |
The specified domain has not been resolved. |
400 |
指定域名未解析 |
需要将指定域名 CNAME 解析到分组的二级域名上,才能完成绑定。域名解析是在用户域名购买的网站上操作。 |
InvalidICPLicense |
The specified domain have not got ICP license, or the ICP license does not belong to Aliyun. |
400 |
域名备案不合格 |
要绑定的域名需要在阿里云做首次备案,已经在其他系统做备案的,需要在阿里云备案接入。备案接入需要获取备案号,在阿里云有 ECS 且具有公网 IP 的,每个 ECS 有5个备案号。 |
Invalid%s.LengthLimit |
The parameter %s length exceeds the limit. |
400 |
长度超限 |
参数%s超出长度限制,建议修正后重试。 |
InvalidApiDefault |
The ApiDefault value exceeds limit. |
400 |
流控插件 API 默认值超过限制值 |
该值数值不能超过1亿,与单位无关。 |
InvalidAppDefault |
The AppDefault value must smaller than the UserDefault and ApiDefault. |
400 |
AppDefault 的值不符合规则 |
该值需要小于 API 流控值和用户流控值。 |
InvalidUserDefault |
The UserDefault value must bigger than the AppDefault and smaller than the ApiDefault. |
400 |
UserDefault 的值不符合规则 |
该值需要小于 API 流控值并大于 APP 流控值。 |
InvalidParamMapping |
Parameters must be fully mapped. |
400 |
参数映射无效 |
创建 API 时,前后端参数映射需要是全映射。即每个入参都需要配置后端参数名称。 |
InvalidOwnerAccount |
OwnerAccount is invalid. |
400 |
APP所有者账号无效 |
一般为操作授权时,输入目标用户的阿里云邮箱账号,该账号无效。建议检查修正后重试。 |
ServiceForbidden |
Your Gateway service is forbidden by risk control. |
400 |
API 网关服务被风控(应该使用户被风控吧) |
请注意不要频繁请求,建议稍后重试。 |
ServiceUnOpen |
Your Gateway service has not been opened. |
400 |
服务未开通 |
建议到阿里云官网开通一下 API 网关服务。 |
ServiceInDept |
Your API Gateway service is in dept. |
400 |
(您的 API 网关)服务欠费 |
充值或者结算后重新开始使用。 |
EqualSignature |
The new signature is the same as the old. |
400 |
新密钥与旧的相等 |
修改后端签名密钥时,新设置的 Key 和 Secret 不能跟原来的一样。 |
CertificateNotMatch |
The domain does not match the one in the certificate. |
400 |
证书不匹配 |
指定域名与证书内域名不匹配。 |
CertificateKeyNotMatch |
The certificate private key does not match the public key. |
400 |
证书密钥不匹配 |
证书的公钥和私钥不匹配。 |
PrivateKeyEncrypted |
The certificate private key is encrypted, please upload the unencrypted version. |
400 |
密钥不能加密 |
证书私钥加密了,要求上传不加密的版本。 |
CertificateSecretKeyError |
The certificate private key is invalid. |
400 |
证书私钥错误 |
建议检查后重新传入。 |
InvalidApiServiceAddress |
The specified service address is not valid. |
400 |
API 后端服务地址无效 |
配置的 API 后端服务地址无效。 |
2.3. 客户端公用错误码
HttpCode为4xx,调用全阿里云产品的OpenAPI均可能遇到,表示业务错误。一般为请求格式错误、请求方式错误、必填参数丢失、参数格式错误、签名错误、流控限制等问题。此时需查看具体错误码,针对性解决问题。
报错场景 |
错误码 |
错误提示 |
状态码 |
建议 |
API 找不到。 |
InvalidApi.NotFound |
Specified api is not found, please check your url and method. |
404 |
请检查指定的 action 接口名称是否正确,注意大小写区分。 |
缺少必填参数。 |
Missing{ParameterName} |
{ParameterName} is mandatory for this action. |
400 |
指定参数为必填参数,请传入。 |
AccessKeyId 找不到 |
InvalidAccessKeyId.NotFound |
Specified access key is not found. |
404 |
请检查调用时是否传入正确的 AccessKeyId。 |
AccessKeyId 被禁用。 |
InvalidAccessKeyId.Inactive |
Specified access key is disabled. |
400 |
检查 AK 是否可用。 |
时间戳格式不对(Date 和 Timestamp)。 |
InvalidTimeStamp.Format |
Specified time stamp or date value is not well formatted. |
400 |
检查时间戳。 |
用户时间和服务器时间超过15分钟。 |
InvalidTimeStamp.Expired |
Specified time stamp or date value is expired. |
400 |
检查时间戳。 |
SignatureNonce 重复 |
SignatureNonceUsed |
Specified signature nonce was used already. |
400 |
|
返回值格式不正确。 |
InvalidParameter.Format |
Specified parameter format is not valid. |
400 |
仅支持 XML/JSON。 |
参数值校验不通过。 |
Invalid{ParameterName} |
Specified parameter {ParameterName} is not valid. |
400 |
请检查指定参数的值。 |
Http 请求方法不支持。 |
UnsupportedHTTPMethod |
Specified signature is not matched with our calculation. |
400 |
请检查请求Method。 |
签名方法不支持。 |
InvalidSignatureMethod |
Specified signature method is not valid. |
400 |
默认可以不填写该值。 |
签名不通过。 |
SignatureDoesNotMatch |
Specified signature is not matched with our calculation. |
400 |
签名不通过。 |
用户调用频率超限。 |
Throttling.User |
Request was denied due to user flow control. |
400 |
请稍后访问,降低访问频率。 |
API 访问频率超限。 |
Throttling.API |
Request was denied due to api flow control. |
400 |
请稍后访问,降低访问频率。 |
缺少AccessKeyId。 |
MissingSecurityToken |
SecurityToken is mandatory for this action. |
400 |
请检查是否传入有效AccessKeyId。 |