![要在 IIS 上启用 SSL,SQL 服务器需要做哪些更改](https://linux22.com/image/591107/%E8%A6%81%E5%9C%A8%20IIS%20%E4%B8%8A%E5%90%AF%E7%94%A8%20SSL%EF%BC%8CSQL%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9C%80%E8%A6%81%E5%81%9A%E5%93%AA%E4%BA%9B%E6%9B%B4%E6%94%B9.png)
我已将 IIS 设置为 Windows 集成安全性,内部网 c# Web 应用程序使用信任连接来连接数据库。一切正常,直到我们在数据库 (Sql server 2008) 上启用 SSL,现在我们出现以下错误Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
。我尝试更改 SQL 服务器连接字符串,但不起作用。有什么建议吗?
答案1
您是否已在客户端计算机上安装了证书。SQL Server 的 SSL 要求在服务器上安装证书,将 SQL Server 配置为使用该证书,然后必须导出证书的公钥并将其安装在客户端上,以便它们可以进行通信。
从微软:
To configure the client to request encrypted connections
1.
Copy either the original certificate or the exported certificate file to the client computer.
2.
On the client computer, use the Certificates snap-in to install either the root certificate or the exported certificate file.
3.
In the console pane, right-click SQL Server Native Client Configuration, and then click Properties.
4.
On the Flags page, in the Force protocol encryption box, click Yes.
To encrypt a connection from SQL Server Management Studio
1.
On the Object Explorer toolbar, click Connect, and then click Database Engine.
2.
In the Connect to Server dialog box, complete the connection information, and then click Options.
3.
On the Connection Properties tab, click Encrypt connection.
答案2
服务器的应用程序事件日志中的 SQL Server 事件将为您提供登录失败的确切原因。在 SQL Server 计算机上,转到管理工具 > 事件查看器 > 应用程序并查找 SQL Server 事件。
如果您使用受信任的连接,则(除非您使用模拟)IIS 应用程序池的身份将用于与数据库的连接。也就是说,我认为在 SQL Server 上使用 SSL 没有任何意义,除非它暴露在公共网络上,或者您不信任您的 LAN。它只会降低数据库服务器的性能,而这往往很重要。