linux 下連接 sql server 數據庫遇到了錯誤:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol


參考:https://github.com/microsoft/msphpsql/issues/1112#issuecomment-643522139

在使用新的系統鏡像(似乎是 ubuntu:20.04 及以后的版本)運行 sqlcmd 連接低版本數據庫(如 SQL Server 2008 R2)時,可能會遇到以下錯誤:

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol].

經網上查找,應該是新系統升級了 openssl 的版本,提高了最低安全協議的版本,應該是為了安全,低版本的 ssl 不再被支持

解決方案:

打開修改文件:/etc/ssl/openssl.cnf
在第一行(或比較靠前的位置,如大概第 17 行往后)添加以下配置:

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

注意 MinProtocol 這里,網上有的寫的是 TLSv1.1 或者 TLSv1.0,經測試好像對我這都不管用,最后找到直接寫 TLSv1 就可以成功了。

如果其它場景也遇到了類似錯誤,也可同樣進行處理,比如 asp.net core 什么的。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM