API调用失败的可能原因有哪些?
如果API调用出错,请仔细检查API的配置:
- 域名是否备案成功,且能正常解析。
- 域名是否绑定到正确的API分组。
- API是否已发布。如果修改过API,则需要重新发布;如果发布到非RELEASE环境,请求X-Stage头的值需要填写发布的环境名称。
- 如果使用APP认证,App Key和Secret是否正确。
- 访问控制策略是否设置正确。
- 是否超过了流量控制范围。
- 请求参数的格式错误。
API调用报错“414 Request-URI Too Large”
可能原因:URL(包括请求参数)太长,建议将请求参数放在body体中传递。
"API Not Found"如何解决?
请按以下顺序排查可能原因:
1.API的方法不正确。比如注册的API为POST方法,您使用了GET方法调用。
2.API没有发布。API创建后,需要发布到具体的环境后才能使用。
3.域名解析不正确。如果API方法正确,且已发布到环境,有可能是没有准确解析到您的API所在分组。请检查API所在的分组域名,例如您有多个API分组,每个分组有自己的独立域名,API调用时,使用了其他分组的独立域名。
No backend available,怎么解决?
检查后端服务是否可以访问,如果不能访问,请修改后端服务。
- 检查后端服务对应的ECS安全组配置,查看是否已开放您需要的端口。
- 检查VPC网络中的ACL配置,查看是否有相关ACL策略限制了API网关实例与后端服务所在子网的通信。
- 若使用VPC通道,检查VPC通道业务端口、健康检查端口、后端服务器添加是否均正常。
后端服务调用失败或超时原因分析
以下原因可能导致后端服务调用失败或者超时,请逐一排查。
原因 | 解决方案 |
---|---|
后端服务地址错误。 | 在编辑API中修改后端服务地址。如果是域名,请确认域名能正确解析到后端服务IP地址。 |
后端超时时间设置不合理。当后端服务没有在设置的后端超时时间内返回时,API网关提示后端服务调用失败。 | 在编辑API中增加后端超时时间。 |
如果“后端服务地址”在ECS(Elastic Cloud Server),ECS的安全组的出/入方向规则可能拦截了请求。 | 检查后端服务所在ECS的安全组,确保出/入方向端口规则和协议都设置正确。 |
请求协议配置错误,如后端服务为HTTP,在API网关配置为HTTPS。 | 注册的API与后端服务配置相同的协议。 |
修改后端服务的超时时间上限“backend_timeout”后未生效
问题描述
修改专享版APIG实例参数“backend_timeout”后未生效。
可能原因
在“定义后端服务”中,“后端超时(ms)”未修改。
解决方法
登录控制台,在“API管理”中,进入目标API详情,单击“编辑”,在“定义后端服务”中配置“后端超时(ms)”。
如何切换调用环境?
默认调用“发布”环境的API。如果您要调用其他环境的API,请添加请求消息头X-Stage,参数值填写环境名称。
调用请求包最大支持多少?
专享版:API每次最大可以转发Body体为12MB的请求包。请求body体超过12M时,根据业务需求,请在“实例概览”的配置参数中修改“request_body_size”参数。“request_body_size”表示API请求中允许携带的Body大小上限,支持修改范围1~9536 M。
使用iOS系统时,如何进行APP认证?
目前API网关为APP认证提供了Java、Python、C、PHP、Go等多种语言的SDK与demo,当您使用iOS系统(Objective-C语言)或者其他未包含在内的语言时,请参考“开发指南 > 使用APP认证调用API > APP认证工作原理”的指导进行APP认证。
最多支持创建多少个APP?
每个用户最多创建50个APP。
APP认证的API,怎样实现不同的第三方之间无法知道对方调用情况?
创建多个APP,并绑定同一个API,分发给不同的第三方不一样的APP。
APP认证的API,有没有限制可以给多少个第三方使用?
没有限制。
APP认证的API,是否需要自己创建APP?
是,需要自行创建APP,并绑定API。创建完成APP后,系统自动生成AppKey和AppSecret,将AppKey和AppSecret给第三方,就可以直接调用此API了。
APP认证的API,第三方怎么调用?
您需要把AppKey和AppSecret提供给第三方,然后第三方通过SDK调用。具体SDK的调用步骤请参见“开发指南 > 使用APP认证调用API”。
是否支持移动应用调用API?
API支持被移动应用调用。使用APP认证时,将移动应用的AppKey和AppSecrect替换SDK中的AppKey和AppSecrect进行APP签名。
如何实现WebSocket数据传输?
API网关支持WebSocket数据传输,在创建API时,请求协议中的HTTP相当于WebSocket的ws,HTTPS相当于WebSocket的wss。
API调用是否支持长连接
API网关支持长连接,但注意适当使用,避免占用太多资源。
策略后端有多个时,怎么匹配和执行
当您的API配置了多个策略后端,API网关会按顺序进行匹配,匹配到其中一个立即执行API请求转发,不会进行后续的匹配。
当策略后端都没有匹配成功,则按照默认后端执行API请求的转发。
API调用对请求的响应消息体限制
API调用对请求的响应消息体大小没有限制。