Ubuntu 20.04无法连接远程Sqlserver2016的原因!
因为Ubuntu 20.04使用的是tls1.2的协议。
sqlserver2016使用的是tls1.1,虽然官方说sqlserver2016支持tls1.2,但是经测试还是tls1.1,就算在windows注册表禁用了tls1.1也不行。我也不清楚到底是什么原因。
然后修复办法就是 要么升级数据库到2019 要么ubuntu 降低版本到18,或者降低ubuntu 20.04所使用的的tls协议为1.1。
ubuntu20.04 降低到 tls1.1的办法:
编辑 /etc/ssl/openssl.cnf
#第一行添加
openssl_conf = default_conf
#在最后添加以下内容:
[default_conf] ssl_conf = ssl_sect [ssl_sect] system_default = system_default_sect [system_default_sect] MinProtocol = TLSv1 CipherString = DEFAULT@SECLEVEL=1
参考链接:https://github.com/microsoft/msphpsql/issues/1112#issuecomment-609972220