Git 代理与内网 Gitea 共存方案(无需 no_proxy)

问题背景

目前我们自己在内网中部署了一个代码仓库gitea,其地址为192.168.0.232:300。但是发现,在我的开着代理的电脑上(Windows 11系统)通过浏览器访问是没有问题的,但是想直接在命令行中执行git clone等操作就不行,总是报502错误。但是我又不想把代理关掉或者设置no_proxy环境变量,因为我要访问外网,也就是希望这样:

  • 外网访问需要走本地代理(例如 127.0.0.1:7890
  • 内网 Gitea(例如 192.168.0.232:3000)应该直连

如果直接设置系统级 no_proxy,有时会影响整体代理行为,导致外网访问异常。

方式

可以不必依赖系统环境变量 no_proxy。可以使用 Git 的"按 URL 精确配置"能力:

  • 全局保留默认代理(给外网)
  • 仅对内网 Gitea 的 URL 设置 proxy =(空值,表示不走代理)

这样可实现"外网走代理,内网直连"。

配置方法

1) 保留全局代理(如果你已经有可跳过)

powershell 复制代码
git config --global http.proxy  http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

2) 为内网 Gitea 添加 URL 级别直连规则(关键)

powershell 复制代码
git config --global http."http://192.168.0.232:3000".proxy ""

等价配置会写入 ~/.gitconfig

ini 复制代码
[http "http://192.168.0.232:3000"]
    proxy =

验证

查看代理相关配置来源

powershell 复制代码
git config --show-origin --get-regexp "^http\.proxy$|^https\.proxy$|^http\..*\.proxy$|^https\..*\.proxy$"

预期同时看到:

  • 全局 http.proxy / https.proxy
  • URL 专用 http.http://192.168.0.232:3000.proxy(空值)

验证 gitea 可访问

powershell 复制代码
git ls-remote gitea

能返回 HEAD 和分支列表即表示访问正常。

可选:仅在单仓库生效(而非全局)

如果只想针对当前仓库生效,去掉 --global

powershell 复制代码
git config http."http://192.168.0.232:3000".proxy ""

此时配置写入当前仓库的 .git/config

排查建议

  1. 先确认内网连通性(ping 192.168.0.232)仅代表 ICMP 通。
  2. 再确认服务端口可达(192.168.0.232:3000)。
  3. 若浏览器可访问但 Git 不可访问,重点检查 Git 的 http.*proxy 配置优先级。
  4. 若用了代理软件规则(PAC/TUN/系统代理),也要确认没有把内网地址错误转发。

回滚命令

删除全局 URL 专用规则:

powershell 复制代码
git config --global --unset-all http."http://192.168.0.232:3000".proxy

删除仓库级 URL 专用规则:

powershell 复制代码
git config --unset-all http."http://192.168.0.232:3000".proxy

这个方案的核心是"精确绕过某个 Git URL 的代理",比全局 no_proxy 更细粒度,也更不容易影响外网访问。

相关推荐
XS0301066 小时前
Git远程仓库实操笔记
笔记·git·elasticsearch
Java成神之路-6 小时前
Git 合并冲突完全指南:分支合并、拉取冲突、推送冲突
git
NutShell Wang6 小时前
拆解 GitHub gh-stack:堆叠 PR 工作流的设计取舍与工程实现
前端·git·开源·github·代码复审·开发者工具·vibe coding
咩咩啃树皮6 小时前
第62篇:Git团队协作完整流程——企业多人开发规范、分支管理、冲突解决、上线流程(最终封笔篇)
git
.Hypocritical.20 小时前
Git 入门教程
git
AI行业学习1 天前
Claude Code + cc-switch + Git + Node.js 全套下载+安装+配置完整版
开发语言·git·python·前端框架·node.js·html·notepad++
豆角焖肉1 天前
.gitignore:配置文件+初学入门
git·gitignore
月落归舟1 天前
Git 新手入门指南
git
达达车1 天前
git使用技巧记录
git·使用技巧·版本管理
Simon—欧阳1 天前
Git使用心得&理解
git