在代理后面时,我无法克隆 git repo

tsh*_*ang 4 networking git

当我运行时git clone git://git.gnome.org/tracker,我得到:

Cloning into tracker...
git.gnome.org[0: 209.132.180.173]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
Run Code Online (Sandbox Code Playgroud)

当我不在当前所在的网络代理后面时,这不会发生。

Gil*_*il' 6

术语说明:防火墙阻止您直接连接到某些站点或端口。该代理是一个中间服务器,你可以连接到(但不是一切),并允许访问互联网。

如果您的代理不太努力地阻止非网络流量,您也许可以让它中继您的 git 连接。使用corkscrewconnect-proxy 之类的程序来使用该CONNECT方法尝试通过代理。在您的~/.git/config(用proxy.example.com代理的主机名和端口替换3128 )中放入类似的内容:

[core]
gitProxy="corkscrew proxy.example.com 3128 git.gnome.org 9418"
Run Code Online (Sandbox Code Playgroud)

许多代理配置为CONNECT仅允许端口 443 (https),​​并且它们可能会检查它们中继的流量是否实际上是 SSL。如果您是这种情况,据我所知,您唯一的选择是使用不同的协议,使用您可以访问的外部中继(例如,在端口 443 上使用服务器的 ssh 隧道),或者让您的网络管理员允许git 流量。


for*_*sck 5

使用 git.gnome.org repo 的 http 版本并设置 http_proxy 环境变量

http_proxy=http://your.proxy.server:proxy_port
git clone http://git.gnome.org/browse/tracker
Run Code Online (Sandbox Code Playgroud)

您可能还需要将代理添加到 git config

git config --global http.proxy $http_proxy
Run Code Online (Sandbox Code Playgroud)