0

我在应用服务环境 (ASE) 中有一个应用服务。我有一个虚拟网络,我已将 ASE 放入 Vnet 的子网中。

我想要做的是,我正在尝试连接不在 Vnet 或我的天蓝色租户中的 SQL Azure 端点。ASE 有一个出站 IP 地址,当我尝试 tcpping 到 Azure SQL 端点时,它响应我没有任何问题。

问题是当我尝试在应用程序内连接 SQL 端点时,我收到“无法打开服务器”错误。当 SQL Azure 端点中有防火墙时,通常会发生这种情况。我检查了日志分析(在目标 SQL 端点中),发现我的应用程序连接被阻止,但是当我检查客户端 IP 时,它显示了 ASE 的私有 IP。我真的不明白这怎么可能?我会在那里看到我的公共 IP,因为 ASE 是外部 ASE。

你知道这怎么可能吗?

4

1 回答 1

0

如果您在 ASE 子网中启用了虚拟网络服务终结Microsoft.Sql点,当您在服务终结点打开的情况下连接到 Azure SQL 服务器时,SQL 连接的源 IP 将切换到 VNet 的专用 IP 空间

如果是这样,您需要通过在 SQL 服务器的 VNet 防火墙规则中指定来允许给定的 VNet/子网。如果不想使用虚拟网络服务端点,可以在 SQL Server 的防火墙中将应用程序的出站 IP 地址列入白名单。 在此处输入图像描述

有关更多信息,您可以阅读blog1blog2

于 2019-12-16T09:08:38.673 回答