Git fetch 失败: gnutls_handshake() failed 的排查与修复
在项目中执行git fetch时报错fatal: unable to access https://git.example.com/rxx/demo_project.git/: gnutls_handshake() failed: Error in protocol version2. 表现git fetch/git pull均失败无法访问远程仓库。报错信息固定为gnutls_handshake() failed: Error in protocol version。系统其他工具如curl访问同一域名却正常。3. 根因分析3.1 服务器只支持 TLS 1.3用openssl s_client实测远端服务器echo|openssl s_client-connectgit.example.com:443-tls1_2# 失败# error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol versionecho|openssl s_client-connectgit.example.com:443-tls1_3# 成功服务器对 TLS 1.2 握手直接拒绝只放行 TLS 1.3。3.2 git 客户端使用的 TLS 库不支持 TLS 1.3旧版系统 gitUbuntu 18.04 自带 2.17.1使用系统 gnutls 3.5.18不支持 TLS 1.3。升级到 PPA 版 git 2.50.1 后依旧失败因为 PPA 把gnutls 版 libcurl 静态链接进了 git 二进制ldd /usr/bin/git看不到 libcurl 动态依赖被静态打入。git -c http.sslBackendopenssl报Could not set SSL backend to openssl: already set说明编译时已固定为 gnutls。系统curl之所以正常是因为它链接的是 openssl 版 libcurllibcurl.so.4。3.3 关键点组件TLS 后端TLS 1.3 支持结果系统 curlOpenSSL 1.1.1支持正常系统 git 2.17.1gnutls 3.5.18不支持失败PPA git 2.50.1静态 gnutls libcurl不支持失败4. 解决办法从源码编译 git链接 openssl 版 libcurl核心思路让 git 使用系统已有的 openssl 版libcurl.so.4而不是默认的-lcurl它会解析到 gnutls 版的libcurl.so - libcurl-gnutls.so符号链接。4.1 下载源码cd/tmp/opencodecurl-sL-ogit.tar.gz https://github.com/git/git/archive/refs/tags/v2.50.1.tar.gztarxzf git.tar.gzcdgit-2.50.14.2 生成 configure 并配置makeconfigure ./configure--prefix$HOME/git-local --without-tcltkCURL_LDFLAGS-Wl,-l:libcurl.so.4注意configure 生成的config.mak.autogen会覆盖为CURL_LDFLAGS-lcurl需要手动改回sed-is|^CURL_LDFLAGS-lcurl$|CURL_LDFLAGS-Wl,-l:libcurl.so.4|config.mak.autogen4.3 编译并安装make-j$(nproc)makeinstall4.4 验证# 确认 git-remote-http 链接 openssl 版 libcurlldd$HOME/git-local/libexec/git-core/git-remote-http# libcurl.so.4 /usr/lib/x86_64-linux-gnu/libcurl.so.4# libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.1# 测试 fetch$HOME/git-local/bin/git fetch origin# 成功exit04.5 设为默认echoexport PATH$HOME/git-local/bin:$PATH~/.zshrc# 新开终端生效5. 总结服务器只接受 TLS 1.3客户端 TLS 库不支持则握手失败。PPA 版 git 静态绑定了 gnutls 版 libcurl无法通过配置切换后端。从源码编译 git 并强制链接 openssl 版libcurl.so.4即可解决。

相关新闻

Dev-C++入门指南:轻量级C/C++开发环境配置与实战技巧

Dev-C++入门指南:轻量级C/C++开发环境配置与实战技巧

1. 项目概述:为什么Dev-C依然是C/C初学者的首选如果你刚开始接触C或C编程,面对Visual Studio、CLion这些功能强大但体积庞大、配置复杂的现代IDE,是不是有点无从下手?或者你的电脑配置不高,需要一个能快速启动、不占资…

2026/8/9 5:39:33 阅读更多 →
VS2022 C/C++编译报错排查指南:从环境配置到语法语义深度解析

VS2022 C/C++编译报错排查指南:从环境配置到语法语义深度解析

1. 项目概述:为什么我们需要一份VS2022 C/C报错指南? 如果你是一名C或C开发者,并且正在使用Visual Studio 2022,那么你大概率和我一样,经历过这样的时刻:项目编译失败,错误列表里弹出一行行令人…

2026/8/9 5:39:33 阅读更多 →
CCswitch本地代理配置:快速接入Codex服务与AI模型API

CCswitch本地代理配置:快速接入Codex服务与AI模型API

在实际开发或学习过程中,我们常常会遇到需要访问特定API服务或模型的情况,但直接访问可能会因为网络、地域或平台限制而受阻。这时,一个稳定、高效的本地代理工具就显得尤为重要。CCswitch正是这样一个工具,它能够帮助开发者在本地…

2026/8/9 5:39:33 阅读更多 →

最新新闻

GRETNA:MATLAB中的图论网络分析工具箱,三步掌握脑网络研究核心技术

GRETNA:MATLAB中的图论网络分析工具箱,三步掌握脑网络研究核心技术

GRETNA:MATLAB中的图论网络分析工具箱,三步掌握脑网络研究核心技术 【免费下载链接】GRETNA A Graph-theoretical Network Analysis Toolkit in MATLAB 项目地址: https://gitcode.com/gh_mirrors/gr/GRETNA 面对复杂的大脑连接网络分析&#xff…

2026/8/9 13:40:21 阅读更多 →
分布式电源接入配电网的调度优化与Matlab实现

分布式电源接入配电网的调度优化与Matlab实现

1. 分布式电源接入对配电网调度的影响与挑战 随着屋顶光伏、小型风电等分布式能源在配电网中的渗透率不断提升,传统"自上而下"的电力调度模式正面临根本性变革。我在参与某工业园区微电网项目时深刻体会到:当分布式电源占比超过15%后&#xff…

2026/8/9 13:40:21 阅读更多 →
基于FFmpeg与本地NLP的剧集内容自动化生产与管理系统构建

基于FFmpeg与本地NLP的剧集内容自动化生产与管理系统构建

这次我们来看一个名为“杜马探案记-S2E17”的项目,标题指向一个具体的剧集《蛇灵完成任务后绝不给对手留下任何蛛丝马迹》。从标题和常见的网络内容形态来看,这很可能是一个涉及剧情解析、案件推理或影视解说的内容创作项目,而非传统的软件开…

2026/8/9 13:40:21 阅读更多 →
PlayFab Unity编辑器扩展:无缝集成后端配置与调试工作流

PlayFab Unity编辑器扩展:无缝集成后端配置与调试工作流

1. 项目概述 如果你正在用Unity做游戏,并且想接入后端服务来处理玩家数据、排行榜、虚拟物品这些功能,那么PlayFab这个名字你肯定不陌生。它作为微软Azure旗下的游戏后端服务(Game Backend-as-a-Service),确实给独立开…

2026/8/9 13:40:21 阅读更多 →
USB-Disk-Ejector:Windows存储设备安全移除的专业级解决方案

USB-Disk-Ejector:Windows存储设备安全移除的专业级解决方案

USB-Disk-Ejector:Windows存储设备安全移除的专业级解决方案 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable a…

2026/8/9 13:40:21 阅读更多 →
B站视频下载神器:如何永久保存大会员4K高清内容

B站视频下载神器:如何永久保存大会员4K高清内容

B站视频下载神器:如何永久保存大会员4K高清内容 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 你是否曾为网络限制而无法…

2026/8/9 13:39:21 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →