TortoiseGit出现'SSL tlsv1 alert protocol version'错误,Windows 7下如何解决?
解决Windows 7下TortoiseGit的'SSL tlsv1 alert protocol version'错误
这个问题我之前帮不少Win7用户解决过,本质就是TLS版本不兼容的锅——现在主流Git服务器(比如GitHub、GitLab)都禁用了老旧的TLS 1.0/1.1,而Win7默认没开启TLS 1.2支持,加上旧版TortoiseGit/Git可能没强制使用新协议,就会触发这个错误。下面一步步来解决:
1. 更新TortoiseGit和Git到Win7兼容的最新版本
旧版本的Git可能没有对TLS 1.2的完善支持,Win7能兼容的最后一批Git稳定版本是2.33.x系列,对应的TortoiseGit也找支持Win7的最新版(比如2.13.x分支)。安装时注意:
- 选择Git的安装选项时,确保SSL后端用的是OpenSSL,而不是Windows自带的SChannel(SChannel在Win7上对TLS1.2的支持需要额外配置)。
2. 强制Git使用TLS 1.2
通过配置让Git在所有HTTPS请求中强制使用TLS 1.2,有两种方式:
方式一:用TortoiseGit图形界面配置
- 右键任意文件夹→选择「TortoiseGit」→「Settings」
- 切换到「Git」→「Config」标签页
- 点击「New」按钮,添加两个配置项:
- 键:
http.sslVersion,值:tlsv1.2 - 键:
https.sslVersion,值:tlsv1.2
- 键:
- 点击「Apply」保存。
方式二:用Git命令行配置
打开TortoiseGit自带的Git Bash,输入以下命令:
git config --global http.sslVersion tlsv1.2 git config --global https.sslVersion tlsv1.2
3. 开启Windows 7系统级别的TLS 1.2支持
Win7默认没有启用TLS 1.2,需要修改注册表来开启:
- 按下Win+R,输入
regedit打开注册表编辑器 - 定位到路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp - 右键空白处→「新建」→「DWORD(32位)值」,命名为
DefaultSecureProtocols,设置值为0x00000A00(十进制2560,对应启用TLS 1.2) - 如果是64位系统,还要定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp,重复步骤3添加相同的键值 - 再定位到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client- 如果没有这个路径,就依次新建项:先建「TLS 1.2」,再在其下建「Client」
- 在「Client」项中,新建两个DWORD值:
DisabledByDefault,值设为0Enabled,值设为1
- 重启电脑让注册表修改生效。
4. 验证配置是否生效
打开Git Bash,输入以下命令确认配置:
git config --global --get http.sslVersion
如果返回tlsv1.2,说明配置成功。之后再尝试拉取/推送操作,应该就能正常连接了。
额外注意点
- 如果是企业内部Git服务器,先确认服务器本身支持TLS 1.2;
- 如果更新Git后仍有问题,检查SSL后端是否为OpenSSL:输入
git config --get http.sslBackend,返回openssl才正确。
内容的提问来源于stack exchange,提问作者Nigrimmist
相关产品推荐
相关产品推荐

