从Azure网站连接虚拟机angular色中的数据库时,“证书链由不受信任的权限颁发”

在连接来自Azure网站的VMangular色(我有SQL虚拟机angular色)的MY DB时遇到错误。 VMangular色和Azure网站都位于西区。 我遇到了以下问题:“SqlException(0x80131904):与服务器build立了连接,但在login过程中出现错误(提供程序:SSL提供程序,错误:0 – 证书链由一个不信任。)]“

我能够使用SSMS连接到我的数据库。 1433端口在我的VMangular色上打开。 我的连接有什么问题?

您的SQL虚拟机的可信根存储中可能没有安装CA签名证书。

如果连接string中的Encrypt=True ,则将其设置为off(不推荐),或者在连接string中添加以下内容:

 TrustServerCertificate=True 

SQL Server将创build一个自签名证书,如果你没有安装一个供它使用,但它不会被调用者信任,因为它不是CA签名的,除非你告诉连接string信任任何服务器证书默认。

长期来看,我build议从已知的可信CA(相当便宜)购买CA签名证书,并将其安装在VM上。 您可以在“encryption层次结构”主题下的“联机SQL Server联机丛书”以及“无需validation的情况下使用encryption”阅读有关此主题的更多信息。

HTH

如果在尝试使用SQL Management Studio进行连接时看到此错误消息,请将TrustServerCertificate = True添加到其他连接参数。

如果您尝试通过Visual Studio 2015中的数据连接来访问它,并获取上述错误,则请转至高级,然后将TrustServerCertificate=True设置为错误消失。

Interesting Posts