Rocky Linux 9 laravel 10(PHP8.3)连接SQL Server 数据库解决openssl 3.0.11 问题无法连接
- Linux
- 2024-07-03
- 278热度
- 0评论
问题描述
1、错误提示:SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]TCP Provider: Error code 0x2746
执行下面命令,密钥使用 SHA1 进行签名
update-crypto-policies --set LEGACY
2、laravel10连接sql server 数据库 sqlsrv 提示错误: SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:0A00018A:SSL routines::dh key too small]
我找到了解决方案。几乎相同的解决方法,但对于 openssl 3.0.11:
sed -i '/[openssl_init]/a ssl_conf = ssl_configuration' /etc/ssl/openssl.cnf
echo "n[ssl_configuration]" >> /etc/ssl/openssl.cnf
&& echo "system_default = tls_system_default" >> /etc/ssl/openssl.cnf
echo "n[tls_system_default]" >> /etc/ssl/openssl.cnf
&& echo "MinProtocol = TLSv1" >> /etc/ssl/openssl.cnf
&& echo "CipherString = DEFAULT@SECLEVEL=0" >> /etc/ssl/openssl.cnf
这意味着 DEFAULT@SECLEVEL=1 切换为 0,并且部分会稍微重组。应用脚本后,需要重新检查配置文件的内容:
解决方法
修改 vi /etc/ssl/openssl.conf
[openssl_init]
ssl_conf = ssl_configuration # Section must be registered here
# I adding new section in the end of the file:
[ssl_configuration]
system_default = tls_system_default
[tls_system_default]
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=0
具体修改如图:
执行完以上操作记得reboot重启系统