You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04本地部署.NET应用遇预登录握手错误求助

Ubuntu 22.04部署.NET应用SQL Server连接SSL握手失败的解决思路

根据你提供的错误日志,核心问题出在OpenSSL配置模块识别失败,导致SSL预登录握手出错。以下是针对性的解决步骤:

  • 修复OpenSSL配置文件
    错误提示unknown module name是因为Ubuntu 22.04默认使用OpenSSL 3.0,部分旧配置中的模块名称已变更。

    1. 备份当前配置:sudo cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak
    2. 打开配置文件检查,移除或替换过时的模块引用(比如旧的engine模块声明),或者直接使用系统默认的OpenSSL 3.0配置模板。
  • 安装兼容的OpenSSL库
    部分.NET版本依赖OpenSSL 1.1,而Ubuntu 22.04默认仅预装OpenSSL 3.0,需手动安装兼容库:

    sudo apt-get update && sudo apt-get install libssl1.1
    
  • 调整SQL Server连接字符串
    强制指定SSL协议或临时关闭加密(仅测试用,生产环境不建议关闭加密):

    • 指定TLS 1.2协议的连接字符串示例:
      Server=你的数据库地址;Database=你的数据库名;User Id=用户名;Password=密码;Encrypt=True;SslProtocol=Tls12;
      
    • 测试时临时关闭加密:
      Server=你的数据库地址;Database=你的数据库名;User Id=用户名;Password=密码;Encrypt=False;
      
  • 升级.NET运行时/SDK
    .NET 6及以上版本对OpenSSL 3.0有更好的兼容性,若当前使用的.NET版本较低,执行以下命令升级(以.NET 6为例):

    sudo apt-get update && sudo apt-get install dotnet-sdk-6.0
    
  • 信任SQL Server SSL证书
    如果SQL Server使用自签名证书,需将证书导入Ubuntu系统信任存储:

    sudo cp 你的证书文件.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    

内容的提问来源于stack exchange,提问作者Benjamin Heap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:39:05