azure api 网关与 AKS 502 集成 - Web 服务器在充当网关或代理服务器时收到无效响应

Posted

技术标签:

【中文标题】azure api 网关与 AKS 502 集成 - Web 服务器在充当网关或代理服务器时收到无效响应【英文标题】:azure api gateway integration with AKS 502 - Web server received an invalid response while acting as a gateway or proxy server 【发布时间】:2019-05-31 08:30:45 【问题描述】:

我正在将 Azure API 网关与 AKS 集成。 为了实现这一点。 我有

使用高级网络创建了 AKS 群集。认为它在 aks-vnet 为 API 网关创建了不同的 vnet。 对等 vnet 即 vnet 用于 aks 和 api 网关。

创建了内部负载平衡器。经过 运行 azure 投票应用程序 yaml 文件还添加了使用注释 内部负载均衡器

元数据: 名称:azure-vote-front 注释: service.beta.kubernetes.io/azure-load-balancer-internal: "true"

在 api 网关的地址探测中添加了 kubernates 内部负载均衡器公共 ip。

当我使用 api 网关的公共 IP 地址或与 api 网关关联的 dns 名称在浏览器中导航时,我收到以下错误

502 - Web 服务器在充当网关或代理服务器时收到无效响应。 您要查找的页面有问题,无法显示。当 Web 服务器(作为网关或代理)联系上游内容服务器时,它收到了来自内容服务器的无效响应。

【问题讨论】:

如果您绕过应用程序网关并直接与负载均衡器通信,您的服务是否正常工作? @GaneshPol 有任何更新或更多问题吗? 我发现 azure api 管理服务比 api 网关好得多,因为它为我提供了更好的设施,并且我能够使用 azure api 管理服务。 【参考方案1】:

首先,您的案例中描述了一些错误:您应该提供将 kubernetes 内部负载均衡器私有 IP 添加到应用程序网关后端池。

然后我按照Integrate Application Gateway with AKS cluster中的步骤进行了测试。由于错误表明您应该检查 AKS 中的应用程序是否正常运行,在您的情况下,该应用程序是 azure 投票应用程序。

如果您按照 Azure Kubernetes 服务教程将映像推送到 Azure 容器注册表,则必须授予 AKS 访问 ACR 的权限。见Authenticate with Azure Container Registry from Azure Kubernetes Service。

在我这边,我可以从应用程序网关的公共 IP 访问 azure 投票应用程序。希望这会帮助你。

【讨论】:

以上是关于azure api 网关与 AKS 502 集成 - Web 服务器在充当网关或代理服务器时收到无效响应的主要内容,如果未能解决你的问题,请参考以下文章

将 azurerm_application_gateway 与 AKS 与 terraform 集成

使用 Azure 应用网关 + APIM 进行 SSL 固定

Azure 上的 Google Analytics API

AKS 中的 Ocelot API 网关实现

Azure 逻辑应用程序 502 -“错误网关”错误

Terraform 在 AKS 节点资源组中创建入口应用程序网关