出错文本
fatal: unable to access 'https://gitea.zhangyiming748.eu.org/zen/WorkLoadLedger.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to gitea.zhangyiming748.eu.org:443
解决方案
你的 Git 推送错误是典型的 SSL 连接失败问题:
fatal: unable to access 'https://gitea.zhangyiming748.eu.org/zen/WorkLoadLedger.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to gitea.zhangyiming748.eu.org:443
这个错误常见于 macOS 系统(因为 macOS 的 Git 默认使用 LibreSSL),通常由以下原因引起:
- 网络代理/VPN/防火墙干扰了 SSL 握手(最常见,尤其是公司网络或某些安全软件)。
- 代理设置错误(如 http.proxy 配置不当,或环境变量 HTTP_PROXY/HTTPS_PROXY 设置了但不适用于该域名)。
- LibreSSL 与服务器的兼容性问题(某些自建 Gitea 服务器的 TLS 配置可能与 LibreSSL 不完全兼容)。
你的 Gitea 服务器(https://gitea.zhangyiming748.eu.org)是正常的,能正常访问,所以问题基本在客户端(你的电脑)。
推荐解决步骤(从简单到彻底)
-
检查并关闭代理/VPN/防火墙
- 临时关闭任何 VPN、代理工具(如 Clash、Shadowsocks、V2Ray、Surge 等)。
- 如果你在公司/学校网络,尝试换成手机热点测试。
- 检查系统代理设置:系统设置 → 网络 → 高级 → 代理 → 确保所有代理都关闭。
-
取消 Git 的代理设置(很多情况下就是这个导致的)
git config --global --unset http.proxy git config --global --unset https.proxy然后再试推送。
-
切换 Git 的 SSL 后端到 OpenSSL(macOS 上有效解决 LibreSSL 兼容问题)
如果你用 Homebrew 安装了 Git(推荐),执行:git config --global http.sslBackend openssl如果提示没有 openssl,先安装:
brew install openssl(注意:Homebrew 安装的 Git 默认支持这个切换。)
-
临时禁用 SSL 验证(仅测试用,不推荐长期)
git config --global http.sslVerify false测试成功后再改回
true。 -
改用 SSH 协议推送(最彻底推荐,避免所有 HTTPS 问题)
- 在你的 Gitea 服务器上添加 SSH 公钥(用户设置 → SSH/ GPG 密钥)。
- 修改远程 URL:
git remote set-url origin git@gitea.zhangyiming748.eu.org:zen/WorkLoadLedger.git - 然后正常 push(首次可能需要确认主机指纹)。
-
其他检查
- 用 curl 测试连接:
如果也报 SSL_ERROR_SYSCALL,确认是网络/代理问题。curl -v https://gitea.zhangyiming748.eu.org - 更新 Git 到最新版(brew upgrade git)。
- 用 curl 测试连接: