首页 > 解决方案 > 如何配置 Azure 应用程序网关以允许连接到容器实例

问题描述

我有一个10.0.0.0/16具有多个子网的专用网络 ( )。我在10.0.0.0/24子网中配置了一个应用程序网关,我想10.0.2.0/24通过 HTTP 将子网中的容器实例公开到 Internet。

网关只有一个 HTTP 规则,只是将 80:80 从 Internet 映射到后端池。在“后端运行状况”部分中,我的容器(通过 IP 地址添加)的状态未知,并显示以下错误:

无法检索健康状态数据。检查 NSG/UDR 是否存在阻止从 Internet 访问端口 65503-65534 到应用程序网关。

最初我没有设置 NSG,但是在设置一个(甚至允许任何:任何)之后并没有解决状态检查问题。

在浏览器中打开 url 时出现 502 Bad Gateway 错误。

注意:我已将不属于 VNet 的容器实例添加到应用程序网关,尽管在后端池中也显示未知状态,但请求实际上已重定向到容器,因此我几乎可以肯定我在 VNet 中配置错误.

注意2:我已经推送了一个测试容器,并且测试容器可以到达我试图在同一子网中公开的容器,所以容器和应用程序网关之间出现了问题。

我的问题是我必须设置的 NSG 规则

  1. 使容器对健康检查可见
  2. 使应用程序网关和容器之间的重定向工作

标签: azureazure-application-gatewayazure-container-instances

解决方案


确实没有什么可配置错误的,您可以在其中一个子网中创建一个 vm(创建第三个)并测试它是否可以访问容器实例?如果它可以为 0,这可能是平台限制,tbh。

但是查看错误:您应该从 Vnet 中分离所有 NSG\User Defined 路由(为简单起见)并进行其他几项检查:https ://docs.microsoft.com/en-us/azure/application-gateway/application-网关后端健康故障排除#backend-health-status-unknown


推荐阅读