登录
首页 >  Golang >  Go问答

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

来源:Golang技术栈

时间:2023-04-25 12:14:37 165浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Azure SQL 数据库错误 TLS 握手自 v12 升级以来失败》,本文主要会讲到golang等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我从今天早上开始收到此错误,新的 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 部署。在 Azure 自动升级到 v12 之前一直在使用 A1。

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但没有机会,没有解决问题

正确答案

基于这个已关闭的问题,我TrustServerCertificateFalseto更改为True并将此参数添加hostNameInCertificate到连接字符串中,现在它正在工作:

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

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

Azure 门户建议有TrustServerCertificate=False和没有hostNameInCertificate.

今天关于《Azure SQL 数据库错误 TLS 握手自 v12 升级以来失败》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>