登录
首页 >  Golang >  Go问答

利用代理访问私有存储库

来源:stackoverflow

时间:2024-02-15 20:21:22 265浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《利用代理访问私有存储库》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我的公司提供了vpn,但只是全局代理,所以我在docker中启动了一个vpn并向外部提供了sock5代理,我希望go get ≈ 使用我本地启动的sock5代理。

我的配置文件

- go env
``` 
goprivate=""
goproxy="http://goproxy.cn,direct" (i'm in china. this is cn golang proxy)
```
- git
```
[http "https://"]
    proxy = socks5://127.0.0.1:1080
    
[url "ssh://git@"]
        insteadof = http:///

[url "git@:"]
        insteadof = http:///
```    
- netrc
```
machine 
  login username
  password accesstoken
```

我期望 git 克隆 / 命令使用 sock5 代理,所以我已经为 git 配置了 http 代理,它可以工作

[http "https://"]
        proxy = socks5://127.0.0.1:1080

但是go get / 不起作用(不使用sock5代理)

知道 go get 本质上是 git clone 并且我设置了 ssh 而不是 http,我想我应该配置一个 ssh 代理:

所以我将以下配置添加到.ssh/config

Host 
    ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

但是没用

go 获取 / 显示

go get:无法识别的导入路径“/golang/base”:https 获取:获取“https:///golang/base?go-get=1”:拨号 tcp 10.130.xxx .x​​xx:443:i/o 超时

我认为 10.130.xxx.xxx 是我公司 gitlab.net 的内部 ip,我该怎么办?


正确答案


我修复了,go get xx 不仅使用ssh,而且有一次http fetch。

所以使用https_proxy(http_proxy)=sock5://xxx go get xxx命令

好了,本文到此结束,带大家了解了《利用代理访问私有存储库》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>