思考记录

机场客户端已连接,curl和Git仍连不上?终端代理排查

机场客户端已连接,终端仍连不上,先检查命令行工具是否使用了正确代理。浏览器能访问,只说明浏览器这条路通了;curl、Git可能还在门口等导航。使用真正接管相关流量的VPN时,也要检查分流和排除设置。

为什么系统代理开了,终端没跟上?

curl官方说明指出,它不支持自动发现代理。因此,开启客户端的“系统代理”后,不能直接推断curl已经采用该设置。你需要给工具指定代理,或确认连接确实被隧道接管。

先看客户端的本地监听地址、端口和协议。HTTP端口与SOCKS端口可能不同,节点的远程端口也不是本地代理端口。地址填错,就像把快递柜编号写进收件人的手机号。

第一步:用一次请求检查本地入口

在Windows终端中,可参考下面的HTTP代理示例,先把“端口”替换为客户端实际显示的数字:

curl.exe -q --proxy "http://127.0.0.1:端口" --max-time 15 "https://example.com"

这是请求示例,本站没有代你执行。目标也可换成自己要访问的HTTPS网站。如果入口只支持SOCKS,就按协议更换代理前缀,不能直接照抄HTTP写法。来源:curl代理参数

同时查看客户端连接记录:请求有没有进入、匹配了什么规则、去了哪个出口。收到网页内容也不等于所有应用都已走代理。

第二步:检查环境变量与绕过名单

curl环境变量文档列出http_proxy、https_proxy及ALL_PROXY;对应协议的变量优先于通用变量。NO_PROXY用于跳过指定目标,设成星号会跳过全部目标。

检查当前终端实际拿到的值,留意旧端口、错误协议和目标是否被排除。变量的设置方法、大小写行为需按操作系统处理;给curl写HTTP代理变量时沿用官方的小写名称。别把一次测试配置到处复制,日后换端口就会留下“前任代理”。

第三步:Git先看远程地址

在仓库中用git remote -v查看地址。Git官方文档说明,http.proxy可覆盖HTTP传输所用代理。HTTPS仓库应检查这项配置及来源,尤其是遗留的全局或仓库设置。

当前Git可用git config get --show-origin --all http.proxy查看常规值和来源;按网址或远程单独配置的例外,也需另查。没有输出时,仍应检查环境变量。

若地址使用SSH,排查SSH连接及其配置;HTTP代理设置不能直接替它安排路线。curl测试成功,也不能证明SSH远程已经连通。

仍失败时,按报错分层处理

连接被拒绝,先核对本地监听;超时再看节点、规则和目标;证书错误应检查时间与信任链。保留原设置,每次只改一项。接管范围不清楚,可对照本站规则、全局与TUN指南。

作者:仓老师机场观察

资料来源

资料核对日期:2026年10月10日。依据下列官方文档与一手规范整理,排查步骤为机制分析,不包含本站亲测或测速结果。

评论

搜索文章

正在加载搜索…