Ubuntu 下访问MSSql 提示 SSL Handshake failed with OpenSSL error

简而言之就是:SSL Handshake failed with OpenSSL error

大致意思是连接服务器成功,但是在握手的时候报了异常,里面有 openssl、ssl_error 这样的字眼,回顾了一下,

同样的部署方式,在centos 7阿里云服务器里面是没有这个问题的,推测代码和环境都是没有问题的,然后看了下

自己装的ubuntu20.4,是最新的Ubuntu版本,还跟openssl有关系,那么会不是 LTS的问题,查看下

openssl version,出来 OpenSSL 1.1.1f ,它是2020年3月份发布的,那我的sql版本是好几年前的,肯定对不上

了,问题找到,降级openssl版本吧。

步骤(注意使用root运行):

  1. 下载包: wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
  2. 解压: tar -zxf openssl-1.1.1.tar.gz
  3. cd openssl-1.1.1
  4.  ./config.
  5. apt install make gcc
  6. make
  7. make test 检查下有没有问题
  8. 备份一下现在的openssl: sudo mv /usr/bin/openssl ~/tmp
  9. 执行安装: sudo make install.
  10. 创建软连接: ln -s /usr/local/bin/openssl /usr/bin/openssl
  11. 运行命令 sudo ldconfig 更新一下软连接和缓存.

    然后来看看:

  openssl version

输出了下面的信息就证明降级成功了
  OpenSSL 1.1.1  11 Sep 2018

Ubuntu 下访问MSSql 提示 SSL Handshake failed with OpenSSL error

上一篇:面试中你不可回避的C、C++的问题(一)


下一篇:C++ 通过引用来传递和返回对象