我从今天早上收到此错误,新的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
但没有机会,没有解决问题
答案 0 :(得分:2)
根据这个已结束的问题,我将TrustServerCertificate
从False
更改为True
,并将此参数hostNameInCertificate
添加到连接字符串中,它现在正在运行:
https://github.com/denisenkom/go-mssqldb/issues/55
TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;
Azure门户建议使用TrustServerCertificate=False
而不是hostNameInCertificate
。