自 v12 升级以来 Azure SQL 数据库错误 TLS 握手失败

我从今天早上开始收到此错误,新的 v12 更新服务器/Azure SQL 数据库:

TLS 握手失败:x509:证书对 tr12.northcentralus1-a.worker.database.windows.net、*.tr12.northcentralus1-a.worker.database.windows.net 有效,而不是 [server-name].database.windows 。网

在本地连接到 Azure SQL 数据库没有问题。在 Azure Web App 上无法建立连接。

与本地连接字符串相同 - 在 v12 更新之前工作正常。

我正在使用这个 SQL 驱动程序 github.com/denisenkom/go-mssqldb/

任何指针,不相信我应该更改连接字符串?为什么它适用于本地而不是 Azure Web 应用程序。

编辑 1:只是尝试[server-name].database.windows.net用 tr12替换...但无法建立 tcp 连接。

编辑 2:这是连接字符串,如果它可以提供帮助,底线,为什么它在本地工作,相同的驱动程序包版本,我正在本地构建可执行文件并通过 FTP 部署,所以不使用 Kudo 部署这个应用程序。一直在 A1 工作,直到 Azure 自动升级到 v12。

Server=[server-name].database.windows.net;Port=1433;Database=[dbname];User ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;Connection Timeout=30;

可信连接应该是真的吗?或加密错误?将尝试更改那些以查看....

编辑 3:我查看了 Azure 门户中的连接字符串,v12 似乎有这个新参数:TrustServerCertificate=False但没有机会,没有解决问题


月关宝盒
浏览 158回答 1
1回答

芜湖不芜

基于这个已关闭的问题,我TrustServerCertificate从Falseto更改为True并将此参数添加hostNameInCertificate到连接字符串中,现在它正在工作:https://github.com/denisenkom/go-mssqldb/issues/55TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;Azure 门户建议有TrustServerCertificate=False和没有hostNameInCertificate。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go