我有两个虚拟网络:公共网络和私人网络。在公共vnet上有一个应用程序服务。在私有vnet上有一个azure sql数据库。azure sql数据库被阻止了公共访问,并且正在公开一个私有链接。这两个vnet被盯着看。私有链接的专用dns区域有两个vnet链接。
当我VPN到私有vnet时,我可以连接到私有链接,没有问题。当我试图通过应用程序服务连接时,我会得到一个错误:
SqlException:原因:在建立到Server的连接时发生了一个特定于实例的错误。连接被拒绝,因为拒绝公共网络访问设置为Yes (https://learn.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access)。若要连接到此服务器,请在虚拟网络(https://learn.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database)中使用专用端点。
看起来,app服务使用的是公共IP地址(因此是错误),而不是看到私有IP地址(通过专用dns区域)。
我如何设置蔚蓝应用服务,以连接通过私人链接通过vnet?
更新:我的应用服务正在使用Docker。我进入它,并看到dns名称解析为公共IP地址。我暂时将IP添加到主机文件(私有IP)中,但仍然得到相同的错误。
发布于 2020-12-16 05:26:21
在应用程序服务的配置页面上,您需要添加以下应用程序设置:
值为168.63.129.16的WEBSITE_DNS_SERVER值为1的WEBSITE_VNET_ROUTE_ALL
发布于 2020-12-16 05:22:37
这闻起来更像是网络或DNS问题,而不是特定于Azure SQL DB上的私有链接。
由于您可以将SSH放入应用程序容器中,您是否可以尝试从其中进行一些网络测试,例如TRACERT,以查看它是否正确地解析了私有IP,并且在虚拟网络之间也有合适的路由。
您还检查了每个虚拟网络上的NSG以确保1433端口分配给它们之间的传输吗?
https://stackoverflow.com/questions/65316466
复制相似问题