阿里云首页 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

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

API元数据定义非法,请工单联系客服人员

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提供方欠费

A400AC

400

Invalid AppCode ${Reason}

当使用AppCode模式授权时,未找到AppCode

A400IK

400

Invalid AppKey

当使用`Key/Secret`签名授权时,未找到AppKey

A403IS

403

Invalid Signature, Server StringToSign:`${StringToSign}`

签名不匹配,请参考API网关签名文档

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`头中提供的时间戳已过期

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次/天,请绑定正式域名以解除这个限制

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

触发插件的特殊流控

T429UP

429

Throttled by Usage Plan 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分组`禁止从公网访问

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}`

后端连接失败,请检查安全组、后端服务器启动状态、或防火墙配置

D504CS

504

Backend http ssl connect failed `${Reason}`

后端HTTPS连接失败,请检查后端配置的协议与端口是否匹配

D504TO

504

Backend service request timeout

后端请求超时

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. API网关错误码表(经典网络实例)

2.1. 服务端错误码表

HttpCode是5xx,表示服务不可用。此时一般建议重试或联系商品页面的API服务商。

错误代码

Http 状态码

语义

解决方案

Internal Error

500

API 网关内部错误

建议重试。

Failed To Invoke Backend Service

500

底层服务错误

API 提供者底层服务错误,建议重试,如果重试多次仍然不可用,可联系 API 服务商解决。

Service Unavailable

503

服务不可用

建议稍后重试。

Async Service

504

后端服务超时

建议稍后重试。

2.2. 客户端错误码表

HttpCode为4xx,表示业务报错。此时一般为参数错误、签名错误、请求方式有误或被流控限制等业务类错误。建议详细查看错误码,针对性解决问题。

错误代码

Http 状态码

语义

解决方案

Throttled by USER Flow Control

403

因用户流控被限制

一般是由于 API 服务商设置的用户流控值导致被流控,可以联系 API 服务商协商放宽限制。

Api Prov

403

因用户流控被限制

一般是由于 API 服务商设置的用户流控值导致被流控,可以联系 API 服务商协商放宽限制。

Throttled by APP Flow Control

403

因APP流控被限制

一般是由于 API 服务商设置的 APP 流控值导致被流控,可以联系 API 服务商协商放宽限制。

Throttled by API Flow Control

403

因 API 流控被限制

一般是由于 API 服务商设置的 API 流控值导致被流控,可以联系 API 服务商协商放宽限制。

Throttled by DOMAIN Flow Control

403

因二级域名流控被限制,或因分组流控被限制

直接访问二级域名调用 API,每天被访问次数上限1000次。每个分组被访问的QPS限制为500。

Quota Exhausted

403

调用次数已用完

购买的次数已用完。

Expiry of Authorization

403

已经超出api授权时间范围

重新授权,按需选择授权时间范围

Quota Expired

403

购买次数已过期

购买的次数已经过期。

User Arrears

403

用户已欠费

请尽快充值续费。

Empty Request Body

400

body 为空

请检查请求 Body 内容。

Invalid Request Body

400

body 无效

请检查请求 Body。

Invalid Param Location

400

参数位置错误

请求参数位置错误。

Unsupported Multipart

400

不支持上传

不支持上传文件。

Invalid Url

400

Url 无效

请求的 Method、Path 或者环境不对。

Invalid Domain

400

域名无效

请求域名无效,根据域名找不到 API。请联系 API 服务商。

Invalid HttpMethod

400

HttpMethod 无效

输入的 Method 不合法。

Invalid AppKey

400

AppKey 无效或不存在

请检查传入的 AppKey。注意左右空格的影响。

Invalid AppSecret

400

APP 的Secret 错误

检查传入的 AppSecret。注意左右空格的影响。

Timestamp Expired

400

时间戳过时

请核对请求系统时间是否为标准时间。

Invalid Timestamp

400

时间戳不合法

请参照请求签名说明文档

Empty Signature

401

签名为空

请传入签名字符串,请参照请求签名说明文档

Invalid Signature, Server StringToSign:%s

400

签名无效

签名无效。

Invalid Content-MD5

400

Content-MD5 值不合法

请求 Body 为空,但传入了 MD5 值,或 MD5 值计算错误。

Unauthorized

403

未被授权

APP 未获得要调用的 API 的授权。

Nonce Used

400

SignatureNonce 已被使用一次

SignatureNonce 不能被重复使用。

API Not Found

400

找不到 API

传入的 GroupId、Stage 等参数不正确,或已下线。

OpenID Connect Verify Fail: 243, Not found by keyId:%s

401

OpenID Connect 认证失败

检查下列项: 1.请检查您是否使用了您本地demo代码生成的token, token必须由授权API在部署环境生成。 2.获取授权API,业务API,这两者的安全认证都必须是OpenID Connect类型。 3.配置获取授权API时,KeyId和公钥一定要与后端代码实际使用的参数一致。

3. 管控OpenAPI错误代码表

当您调用API网关开放的管控OpenAPI时,如CreateAPI、ModifyAPI、DeleteAPI等,您可能遇到以下错误码。

3.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

内部错误

建议重试。

3.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 后端服务地址无效。

3.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。

首页 API 网关 常见问题 错误代码表