公司提供了 VPN ,但是只能全局代理,个人感觉不安全,并且深信服口碑不咋地,于是我在 docker 中启动 vpn ,并向外提供一个 sock5 代理,我希望 go get ≈<private_repo_path>` 走我本地启动的这个 sock5 代理
Go env
GOPRIVATE="公司 Gitlab.net"
GOPROXY="http://goproxy.cn,direct"
Git 配置
[http "https://公司 Gitlab.net"]
proxy = socks5://127.0.0.1:1080
[url "ssh://git@公司 Gitlab.net"]
insteadOf = http://公司 Gitlab.net/
[url "[email protected]:"]
insteadOf = http://公司 Gitlab.net/
netrc 配置
machine 公司 Gitlab.net
login username
password accessToken
我期望 git clone 公司 Gitlab/repo_name
命令走我启动的 sock5 代理,目前已经成功, 因为我配置了 git 的 http 代理。
但是 go get 公司 Gitlab/repo_name
时显示超时
了解到 go get
本质上是 git clone
并且我设置了 ssh insteadOf http 时,我认为我应该配置一个 SSH 的代理
于是我在 .ssh/config
增加了以下配置
Host 公司 Gitlab.net
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
但是并不起作用
go get Gitlab.net/repo_name
时显示
go get: unrecognized import path "公司 Gitlab.net/golang/base": https fetch: Get "https://公司 Gitlab.net/golang/base?go-get=1": dial tcp 10.130.xxx.xxx:443: i/o timeout
看了下 10.130.xxx.xxx 应该是公司 Gitlab.net 的内网 IP ,请问我该怎么办?
1
zzyphp111 2022-09-04 06:00:35 +08:00 via iPhone
之前也遇到这个问题了等大佬回答前
我是绕过了代理问题,用了共享目录方案,在本机 clone 代码,在 docker 里用,省了时间,也实现了目的。 |
2
lysS 2022-09-04 10:26:01 +08:00
公司的 VPN 、公司装的深信服。。。你信不信得不过有啥用,总之自找麻烦。
“insteadOf = http://公司 Gitlab.net/” 这个应该和上面一条一样吧? “git clone 公司 Gitlab/repo_name 命令走我启动的 sock5 代理,目前已经成功” 我怀疑这个不是走的代理,你抓包看看 还有就是你的 docker 映射端口了没有? |