Azure Web App和Azure SQL Server的VNet集成

问题描述 投票:1回答:3

我在同一订阅中拥有一个Azure Web App和一个Azure SQL Server。如下图所示,它们都连接到相同的VNet子网。 SQL Server配置为不允许Azure资源和服务访问服务器,因为它只应允许从连接的子网或一组IP规则进行访问。

[不幸的是,SQL Server主动拒绝来自Web应用程序的任何连接,指出不允许Web应用程序IP访问服务器。

有趣的是,我在另一个订阅上具有完全相同的配置。

我可能会缺少什么?

快照:

1-在这里您可以看到连接到“ webapps”子网的Web应用程序

enter image description here

2-在这里您可以看到连接到同一子网的SQL Server

enter image description here

3-这就是我得到的错误

enter image description here

azure azure-web-app-service subnet azure-sql-server vnet
3个回答
1
投票

Azure中的虚拟网络与它在本地的工作方式完全不同。

我在生产环境中也遇到了类似的问题,并且需要深入研究,有效的解决方案(满足安全标准并创建与数据库的安全连接)是为虚拟网络中的SQL访问创建私有端点。然后,所有对SQL的调用都是在内部执行的(它没有在互联网上进行),并且数据库拒绝了所有公共调用。

[就您现在的情况而言,您已禁用“允许Azure应用程序访问”,因此当您的应用程序尝试访问SQL时,服务器将检查ip以查找是否被列入白名单。因此,快速的解决方案将是以下之一:

  1. 启用Azure Web应用程序访问SQL
  2. 找到您的Web应用程序的所有出站IP并将其注册到您的SQL防火墙/安全设置中。

如果您谈论一个适当的生产环境具有安全性规定,我建议您采用更繁琐的专用端点路径。


0
投票

您必须在sql fw中配置来自应用程序服务的出站IP。您可以在应用程序服务的属性下找到它们。 Documentation。原因是VNET集成不会在您为其配置的VNET中为您的应用程序服务提供出站IP,因此您配置的FW无法正常工作。


0
投票

我有可访问存储帐户和KV的有效Web应用程序。这些存储帐户和KV接受来自特定子网的流量,并且已将Web应用程序配置为与这些子网集成。我确实遇到了一个问题,即使集成应用程序无法访问这些资源也是如此。对我有用的是,我将应用程序服务SKU从标准更改为高级,然后重新启动了该应用程序。如您所见,它警告“应用程序的传出IP可能会更改”。这不是保证的解决方案,但它对我有用..好几次!虽然不确定SQL Server。专用端点似乎确实是可行的方法,但是您可以尝试一下。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.