【问题标题】:How can I debug 502 Bad Gateway error responses from Azure API Management to Front Door, when the backend request is successful?当后端请求成功时,如何调试从 Azure API 管理到 Front Door 的 502 Bad Gateway 错误响应?
【发布时间】:2021-07-13 12:52:09
【问题描述】:

我在 Azure API 管理 (APIM) 前设置了 Azure Front Door (FD)。大多数请求都适用于这个特定的 APIM 后端。 GET /projects 在浏览器中返回 502 Bad Gateway。我可以看到APIM向后端的请求成功,项目数据从数据库返回。但是,FD 日志显示错误:

isReceivedFromClient_b: true
httpStatusCode_s: 502
httpStatusDetails_s: 502
pop_s: LON
cacheStatus_s: N/A
ErrorInfo_s: OriginInvalidResponse

来自文档:

  • OriginInvalidResponse:Origin 返回了无效或无法识别的响应。
  • 缓存状态为 N/A:请求被签名 URL 和规则集拒绝。

我已尝试禁用 WAFPolicy。所以,据我所知,这条路线上没有配置任何规则。 Azure 诊断中启用了 FrontdoorWebApplicationFirewallLog,但此日志中根本没有任何条目。正是在这里,我希望看到被阻止请求的日志。

关于发生了什么的任何想法,或者我可以如何进一步调试?

【问题讨论】:

    标签: azure azure-api-management azure-front-door apim


    【解决方案1】:

    让我分享一个我也遇到过的错误,它可能与您的情况有关,也可能无关。 在这种情况下,我在使用 API Manager 中发布的 API 的 Microsoft Power Automate 流中看到了错误 502 Bad Gateway。当 API Manager 调用后端系统时,它使用 HTTP 200 代码成功。

    问题的原因是响应 JSON 被定义为一个数组,但 JSON 仅添加一个项目,因此不包含“[”和“]”符号。 抱歉,如果这没有帮助。

    【讨论】:

    • 谢谢@EboGit。那很有意思。我已经确认 200 个成功的 Response-Body 包含方括号并且被正确格式化为数组。
    猜你喜欢
    • 2017-08-08
    • 2019-09-15
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多