我遇到的问题是我们正在尝试使用Microsoft Azure中的WebApp通过VPN连接到外部SQL数据库(不是我们自己的)。 SQL数据库仅允许来自我们作为网络提供的本地IP地址的连接(例如176.0.0.0/24)。 我们现在连接到同一个虚拟专用网络,通过我们的Azure-VM,我们现在可以通过SQL Server Management Studio连接到SQL-Server。
现在我们想对WebApp做同样的事情,但我们还没有通过服务器。得到"未经过身份验证"在到达SQL-Server之前(可能服务器不接受来自WebApp的IP)。
我试图透过的不同问题是:
我不幸找不到任何真正的答案,也没有解决我的问题。如果您对如何解决我们的问题有任何想法,或者可能知道如何通过VM隧道传输所有SQL调用,那么非常感谢帮助!
答案 0 :(得分:1)
混合连接是一种选择。您还可以做的是在VPN中启用点对点。完成后,您可以直接将您的Web应用程序集成到vnet,您的连接将起作用。 (转到您的网络应用 - >设置 - >网络 - > VNet集成)
如果您的Vnet是V1(创建VN的旧方法),那么启用指向站点非常简单。你可以通过门户网站完成。对于V2 Vnets,您必须通过powershell命令执行此操作。 这是一个文档的链接,解释了这两个选项。 https://azure.microsoft.com/en-in/documentation/articles/web-sites-integrate-with-vnet/
答案 1 :(得分:0)
有一种方法可以“通过VM隧道传输所有SQL调用”。您可能希望使用混合连接(参见https://azure.microsoft.com/en-us/documentation/articles/integration-hybrid-connection-overview/)。
原则是在VM上安装可以使用正确的IP地址访问数据库的代理。
假设您可以从VM访问SQL DB作为mysqldbsrv。您添加与Web应用程序关联的混合连接,然后在VM上安装代理程序。然后,当您从Web App连接到mysqldbsrv时,您将通过VM。