【问题标题】:Azure application gateway throws 502 when application sends 401Azure 应用程序网关在应用程序发送 401 时抛出 502
【发布时间】:2015-12-28 07:50:50
【问题描述】:

Azure 应用程序网关显示502 bad gateway error,而应用程序返回401500 errors。它应该发送应用程序发送的任何内容,但默认情况下它发送502。知道会发生什么以及任何配置或代码更改建议吗?

编辑: 我们将node js 用于我们的 API 服务。当客户端尝试在没有任何auth header 的情况下访问端点时,服务将返回401 error。此错误在通过 App 网关时会转换为 502

【问题讨论】:

  • 如果您的应用程序返回 400 或更高,则网关将作为默认运行状况探测的结果删除该应用程序端点。如果您为网关后面的所有端点执行此操作,则应用程序网关将没有任何端点可将请求发送到,因此很可能是您收到 502 的原因。尚不清楚您的场景是什么。有关如何配置运行状况探测、在应用程序中返回 401 或 500 以及为什么会有所帮助的更多信息。
  • @RickRainey 我已经添加了附加信息。进入问题。

标签: azure gateway error-code


【解决方案1】:

一般工作流程

当应用程序网关收到大于 399 的状态码时,它会认为服务器存在一些问题,并将服务器从池中删除。一段时间后,它会检查应用程序状态,如果返回的状态码小于 400,则将服务器添加到池中。

默认情况下,应用程序网关将配置为通过发出 HTTP/HTTPS 请求来检查应用程序的运行状况。

原因

应用程序可能会遇到任何错误,或者任何身份验证错误都可能导致不同的错误代码。这可能会导致应用程序网关导致 502 错误。

探测

我们可以配置一个特殊的文件/端点来检查应用程序/数据库的健康状况。这个配置应该在探测文件中。

有用的资源

https://azure.microsoft.com/en-us/documentation/articles/application-gateway-create-probe-classic-ps/

https://azure.microsoft.com/en-us/documentation/articles/application-gateway-probe-overview/

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2016-05-20
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    相关资源
    最近更新 更多