我们的基础架构团队已在these steps之后进行了工作,以配置Azure订阅与本地防火墙之间的站点到站点Azure VPN连接。为了测试这一点,我们创建了一个简单的Azure Web应用程序,该应用程序针对位于防火墙后面的本地SQL Server进行查询。
此网络应用程序在本地可正常使用。此外,相同的代码和连接字符串在编译为控制台应用程序并在Azure虚拟机上运行时也可以正常工作。但是,当部署到Azure中的Web应用程序时,与SQL Server的连接失败:
[Win32Exception(0x80004005):等待操作超时]
[SqlException(0x80131904):与网络有关或与实例有关的 建立与SQL Server的连接时发生错误。的 找不到服务器或无法访问服务器。验证实例 名称正确并且该SQL Server配置为允许远程 连接。 (提供者:TCP提供程序,错误:0-等待操作 超时。)]
Azure VM和Web应用程序都配置为指向Azure VNet。似乎是某种原因阻止了Web应用程序在其默认端口(1433)上与SQL Server通信。如果打开Web应用程序的调试控制台,并使用默认端口(80)在SQL Server上执行tcpping
,它将成功返回。但是tcpping
到1433端口超时。
Azure网络安全组似乎没有阻止该端口:
我发现与我们的特定设置相关的唯一解决方案基本上归结为“ use Azure Hybrid Connections instead”,这不是我们的首选。
答案 0 :(得分:1)
在获得Microsoft支持之后,进行了以下更改,并且VNet集成现在可以正常工作。对于其中的一些细节,我深表歉意,但是我们的基础架构团队做了大部分的故障排除。希望其中一些项目可以帮助其他人找到设置解决方案的方向:
$("#pdfBtn").on('click', function(){
var doc = new jsPDF();
doc.text(5, 5, 'Specific text for page 1');
addBody();
doc.addPage();
doc.text(5, 5, 'Specific text for page 2');
addBody();
doc.addPage();
doc.text(5, 10, 'Specific text for page 3');
addBody();
function addBody() {
doc.text(5, 10, 'This is reusable text');
doc.text(5, 15, 'More reusable text');
}
});
来使用SQL Server。