更新时间:2023-05-09 GMT+08:00

API调用失败的可能原因有哪些?

网络问题

调用API失败的场景分为三种:同一VPC内调用失败、不同VPC之间调用失败、公网调用失败。

  • VPC内调用API失败时,请检查域名是否和API自动分配的域名一致,如果域名错误,会导致调用API失败。
  • 不同VPC之间调用API失败时,请检查两个VPC的网络是否互通。如果不通,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。

    关于创建和使用VPC对等连接,请参考《虚拟私有云用户指南》中的“对等连接”章节,或《API网关最佳实践》中的“API网关跨VPC开放后端服务”章节。

  • 公网调用API失败时,可能的原因如下:
    • API没有绑定弹性公网IP(EIP),导致API缺少公网访问的有效地址,公网调用API失败。

      绑定EIP后重新调用即可,详细步骤请参考《API网关用户指南》中“购买实例”章节。

    • 入方向规则配置有误,导致公网调用API失败。

      配置入方向规则的详细步骤请参考《API网关用户指南》中“购买实例”章节。

    • 调用时未添加请求消息头“host:分组域名”,导致公网调用API失败。添加消息头后,重新调用即可。

域名问题

  • 域名是否备案成功,且能正常解析。
  • 域名是否绑定到正确的API分组。
  • 子域名(调试域名)访问超过默认次数。API分组创建后,系统为分组自动分配一个内部测试用的子域名,此子域名唯一且不可更改,每天最多可以访问1000次。您可以通过添加独立域名来访问您开放的API。

发布问题

API是否已发布。如果修改过API,则需要重新发布;如果发布到非RELEASE环境,请求X-Stage头的值需要填写发布的环境名称。

API认证鉴权

如果使用APP认证,App Key和Secret是否正确。

API控制策略

  • 访问控制策略是否设置正确。
  • 是否超过了流量控制范围。系统默认的流控策略是单个API的访问不超过200次/秒,如果您未创建流控策略,API网关会执行默认流控策略。您可以在实例控制台“实例信息”页面中的“配置参数”页签下,通过修改“ratelimit_api_limits”参数来设置API的默认流控策略。