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

时间:2015-12-11 15:42:11

标签: azure go client-certificates azure-sql-database

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

  

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

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

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

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

任何指针,不相信我应该更改连接字符串?为什么它在本地而不是在Azure网络应用上工作。

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

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

  

服务器= [服务器名称] .database.windows.net;端口= 1433;数据库=为[dbname];用户   ID = [用户];密码= [通过]; Trusted_Connection = FALSE;加密= TRUE;连接   超时= 30;

可信连接应该是真的吗?或加密错误?会尝试改变那些看看......

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

1 个答案:

答案 0 :(得分:2)

根据这个已结束的问题,我将TrustServerCertificateFalse更改为True,并将此参数hostNameInCertificate添加到连接字符串中,它现在正在运行:

https://github.com/denisenkom/go-mssqldb/issues/55

TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;

Azure门户建议使用TrustServerCertificate=False而不是hostNameInCertificate