常见问题
API注册
API认证鉴权
API访问控制
API调用
- API调用失败的可能原因有哪些?
如果API调用出错,请仔细检查API的配置:
- 网络问题
调用API失败的场景分为三种:同一VPC内调用失败、不同VPC之间调用失败、公网调用失败。
- VPC内调用API失败时,请检查域名是否和API自动分配的域名一致,如果域名错误,会导致调用API失败。
- 不同VPC之间调用API失败时,请检查两个VPC的网络是否互通。如果不通,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。
关于创建和使用VPC对等连接,请参考VPC对等连接说明或API网关跨VPC开放后端服务。
- 公网调用API失败时,可能的原因如下:
- 域名问题
- 域名是否备案成功,且能正常解析。
- 域名是否绑定到正确的API分组。
- 子域名访问超过默认次数。API分组创建后,系统为分组自动分配一个内部测试用的子域名,此子域名唯一且不可更改,每天最多可以访问1000次。您可以通过添加独立域名来访问您开放的API。
- 发布问题
API是否已发布。如果修改过API,则需要重新发布;如果发布到非RELEASE环境,请求X-Stage头的值需要填写发布的环境名称。
- 网络问题
- "The API does not exist or has not been published in the environment."如何解决?
调用API网关中开放的API报错,请按以下顺序排查可能原因:
- 调用API所使用的域名、请求方法、路径不正确。
- 比如注册的API为POST方法,您使用了GET方法调用。
- 比如访问的URL比API详情中的URL少一个“/”也会导致无法匹配上此API,例如http://7383ea59c0cd49a2b61d0fd1d351a619.apigw.region.cloud.com/test/和http://7383ea59c0cd49a2b61d0fd1d351a619.apigw.region.cloud.com/test会匹配上不同的API。
- API没有发布。API创建后,需要发布到具体的环境后才能使用。如果发布到非生产环境,检查请求“X-Stage”头是否为发布的环境名。
- 域名解析不正确。如果API的域名、请求方法、路径正确,且已发布到环境,有可能是没有准确解析到您的API所在分组。请检查API所在的分组域名,例如您有多个API分组,每个分组有自己的独立域名,API调用时,使用了其他分组的独立域名。
- 检查API是否使用OPTIONS跨域请求,如果使用OPTIONS跨域请求,请在API中开启CORS,并创建OPTIONS方式的API。
- 调用API所使用的域名、请求方法、路径不正确。
- No backend available,怎么解决?
- 检查后端服务是否可以访问,如果不能访问,请修改后端服务。
- 检查后端服务对应的ECS安全组配置,查看是否已开放您需要的端口。
- 检查VPC网络中的ACL配置,查看是否有相关ACL策略限制了API网关实例与后端服务所在子网的通信。
- 若使用VPC通道,检查VPC通道业务端口、健康检查端口、后端服务器添加是否均正常。
- 配置入参时为什么无法配置HEADER位置的x-auth-token?
x-auth-token在API网关内部已经被定义了,如果您再次创建此参数名,容易导致冲突。API网关console中已经限定您无法创建HEADER位置的x-auth-token,您只需在调用此API时,直接在header中增加x-auth-token和其值即可。
