【问题标题】:Apigee API end point gives 503 on the browser, but a 200 on Apigee trace and curlApigee API 端点在浏览器上给出 503,但在 Apigee trace 和 curl 上给出 200
【发布时间】:2024-04-25 21:10:02
【问题描述】:

我们使用 Apigee 代理来调用我们的 API。当我们在 Apigee 跟踪中对其进行测试时,一切正常。也适用于 curl。但是在浏览器上,它会给出 503。虽然这并不一致,有时它也会在浏览器上给出 200。试过 Chrome 和 Firefox,同样的行为。

我们的 API 仍然执行良好。我们不返回任何响应,只是设置状态。关于我们可以尝试在浏览器上获得 200 的任何想法?

【问题讨论】:

  • 503 Service Unavailable 通常表示服务器出现问题,与发送的请求或发出请求的应用程序/用户代理无关。当您跟踪呼叫并收到 503 时,您的呼叫是否显示在跟踪中?如果可以看到,是否有返回 503 的后端目标?
  • 当 API 仅配置为 POST/PUT 时,您是从浏览器发送的 GET 请求吗?

标签: browser apigee http-status-code-503


【解决方案1】:

需要检查的几件事:

  1. 检查您的浏览器是否有 DNS 条目缓存。有时像 ELB 这样的服务会改变实际的 IP。所以缓存 DNS 条目可能会导致 503。
  2. 您可能要检查的另一个区别在于所使用的 HTTP 动词。浏览器发送 GET 请求。但是 curl 命令可以做所有事情。因此,如果您的服务专门不提供 GET 调用,您可能会遇到一些服务器端错误。即使您没有明确发送, curl 也会发送某些标题。例如,Accept:/ 标头和用户代理标头等。根据这些标头检查服务器的行为是否不同。

【讨论】:

    【解决方案2】:

    您应该考虑为此使用 Chrome 或 Firefox 扩展程序。其中有两个特别支持 API 开发人员的广泛附加功能。

    对于 Chrome,请尝试 Postman

    对于 Firefox,请尝试 RESTClient

    谢谢。

    【讨论】:

      最近更新 更多