首页 > 解决方案 > Azure - 没有公共 IP 的应用程序网关

问题描述

我正在尝试在 Azure 上部署我的应用程序。目前,我在一个子网 s1 中部署了一个应用程序网关,在后端池中我有 Linux VM。根据要求,我不能使用任何公共 ip,所以我在应用程序网关上只使用私有 ip。由于我们在部署应用程序时需要互联网连接,因此我尝试将 NSG 连接到应用程序网关的子网,并允许入站“互联网”。当我将 NSG 附加到应用程序网关子网时,后端运行状况显示为不健康并出现错误:

“无法连接到服务器。检查是否有任何 NSG/UDR/防火墙阻止访问服务器。检查应用程序是否在正确的端口上运行。”

我尝试添加 MSFT 文档https://docs.microsoft.com/en-us/azure/application-gateway/configuration-overview#allow-application-gateway-access-to-a-few-source-ips中指定的规则但它没有帮助。所以我的问题是:

  1. 我还需要在应用程序网关的子网中向 NSG 添加什么内容吗?
  2. 使用 NSG 上的入站规则允许 Internet 访问是一个好策略吗?(入站规则 -> 服务标签 -> 互联网)。有没有其他方法可以让我在部署时访问互联网?PS:我根本不允许使用公共IP。

非常感谢!

标签: azureazure-application-gateway

解决方案


您可以使用公共 IP 和专用 IP 部署应用程序网关。您需要做的就是使用私有前端 IP 创建侦听器并保留公共 IP。

由于公共 IP 未与任何侦听器连接,因此没有人能够通过您的应用程序网关的公共 IP 从 Internet 访问您的站点。

当 AppGW 需要发起出站到 Internet 时,它使用该公共 IP。

注意:您不能在 V2 部署中仅将私有 IP 作为前端,并且您可以在 V1 SKU 中部署仅使用私有前端 IP 的应用程序网关。


推荐阅读