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

Linux下.NET 3.1项目dotnet restore失败:SSL连接无法建立

解决Linux下.NET 3.1 dotnet restore SSL连接异常问题

针对你遇到的CredentialProvider.Microsoft插件SSL连接失败导致dotnet restore报错的问题,以下是几个可行的解决方法:

  • 禁用CredentialProvider.Microsoft插件(无需私有源时)
    该插件主要用于Azure Artifacts等私有NuGet源的凭证验证,若你不需要访问这类私有源,可直接禁用:

    export NUGET_CREDENTIALPROVIDER_DISABLE=true
    

    执行后重新运行dotnet restore。如需永久生效,将上述环境变量添加到~/.bashrc或~/.zshrc文件中。

  • 强制NuGet使用TLS 1.2
    .NET 3.1默认可能未强制启用TLS 1.2,部分NuGet源仅支持该版本协议,设置以下环境变量:

    export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0
    export NUGET_FORCE_TLS1_2=true
    

    之后再次执行dotnet restore。

  • 检查并清理NuGet源配置
    查看当前NuGet源列表:

    nuget config -list
    

    若存在无法访问的私有源或配置错误的源,可移除:

    nuget sources Remove -Name "目标源名称"
    

    确保保留的源均为可正常访问的HTTPS地址。

  • 重装CredentialProvider.Microsoft插件(需私有源时)
    若必须使用需要凭证验证的私有源,尝试卸载并重装插件:

    # 删除现有插件文件
    rm -rf ~/.nuget/plugins/netcore/CredentialProvider.Microsoft
    # 重新安装
    wget -O - https://aka.ms/installcredprovider.sh | bash
    

    安装完成后重新执行dotnet restore。

  • 验证系统SSL证书信任状态
    手动验证NuGet源的SSL证书有效性,以nuget.org为例:

    openssl s_client -connect nuget.org:443
    

    查看输出中是否包含Verify return code: 0 (ok),若未出现,说明证书信任仍有问题。将对应根证书添加到系统信任库:

    • Debian/Ubuntu:将证书放入/usr/local/share/ca-certificates/,执行update-ca-certificates
    • RHEL/CentOS:将证书放入/etc/pki/ca-trust/source/anchors/,执行update-ca-trust

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:25:02