12.4. ActiveDocs 问题

当您从命令行调用 API 时,当通过 ActiveDocs 时,调用 会失败。

要启用 ActiveDocs 调用,我们通过我们的代理将这些内容发送出来。此代理会添加特定的标头,如果不需要它们,则有时会导致 API 上出现问题。要识别是否是这种情况,请尝试以下步骤:

12.4.1. 使用 petstore.swagger.io

swagger 在 petstore.swagger.io 处提供托管的 swagger-ui,您可以通过最新版本的 swagger-ui 测试您的 Swagger 规格和 API。如果 swagger-ui 和 ActiveDocs 都以同样方式失败,您可以排除 ActiveDocs 或 ActiveDocs 代理出现的任何问题,并将故障排除集中到您自己的规格上。或者,您可以检查 swagger-ui GitHub 存储库,以了解当前版本的 swagger-ui 是否存在已知问题。

12.4.2. 检查防火墙是否允许来自 ActiveDocs 代理的连接

我们建议您不要使用您的 API 将客户端的 IP 地址列入白名单。ActiveDocs 代理使用浮动 IP 地址来实现高可用性,目前没有机制通知对这些 IP 的任何更改。

12.4.3. 使用不正确的凭证调用 API

要确定 ActiveDocs 代理是否正常工作,一种方法是使用无效凭证调用您的 API。这将帮助您确认或排除 ActiveDocs 代理和 API 网关中的任何问题。

如果您从 API 调用中获取 403 代码(或者来自网关上为无效凭证配置的代码),问题在于您的 API,因为这些调用将到达您的网关。

12.4.4. 比较调用

要识别 ActiveDocs 与 ActiveDocs 外部调用之间的标头和参数差异,请通过 APItools 内部或运行作用域等服务运行调用。这将允许您在将 HTTP 调用发送到 API 之前检查并比较 HTTP 调用。然后,您将能够识别可能导致问题的请求中潜在的标头和/或参数。