服务器是Windows10 sql server 2008 ,安全扫描出漏洞,要求禁用TLS1.0 和一些 旧的加密算法
使用IISCrypto.exe 发现服务器目前是这样的
然后点击左下角的 Best Practices,然后点击apply,重启服务器,然后sql server 2008 就启动失败了
查询以后才发现 sql server 2008 只支持 TLS1.0,这个时候就蛋疼了,又不敢升级sql server 只好用IISCrypto.exe 把配置还原到上面截图配置
重启机器以后,sql server 2008 服务倒是起来了,但是TM的连不上,报错信息为
已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) (Microsoft SQL Server,错误: 10054)
这是因为客户端 和 服务端 使用了不一致的 TLS 版本导致,但是我服务端 和 客户端 都勾选了 1.0 1.1 1.2啊,怎么会版本不一致?真的苟
解决方法是把 客户端 和 服务端 都只勾选 1.0,给他限定死 版本,然后就报另外一个错误了
已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL 提供程序, error: 0 - 因为算法不同,客户端和服务器无法通信。) (Microsoft SQL Server,错误: -2146893007)
真的吐了啊,明明已经用IISCrypto.exe 把配置还原了,怎么还出来算法对不上
最后面才发现问题出在Cipher Suites
解决方法是 全都勾上,然后点击apply,重启服务 或者 服务器,至此,问题得到解决