现象:ThinkPHP5程序部署在linux系统下,在登录时报错:SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol]折腾了一下终于解决了这个问题。
本文介绍Centos8和Ubuntu20两个系统修改
分析:报错看提示ssl协议版本不支持,初步看以为是mssql数据库方面的问题,但数据库单独是可以正常连接的,网上也搜了一下,有的说要修改tp5的数据库 dsn ,但这个方法尝试没有效果。
原因:服务器的TLS版本过高导致,目前看只存在于高版本的系统,低版本暂没有发现。
Centos8:
解决:
注意:修改后要重启sshd服务以及web服务才会生效。
1、编辑“/etc/crypto-policies/back-ends/opensslcnf.config”文件,编辑前最好复制一份,防止改错还原。
将
改为MinProtocol=TLSv1.2
Ubuntu20:MinProtocol=TLSv1
改为
1、打开“/etc/ssl/openssl.cnf”文件,(修改前记得复制一份)在文件第一行添加如下代码
2、然后在其后面增加以下配置:openssl_conf = default_conf
注意 MinProtocol 这里,填写TLSv1即可,不要填写TLSv1.0,否则无效。[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1
希望对遇到一样问题的朋友有帮助。
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
文章评论 本文章有个评论