首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只从内部go代理下载私有模块,并从外部代理获取公共模块

只从内部go代理下载私有模块,并从外部代理获取公共模块
EN

Stack Overflow用户
提问于 2020-06-23 05:01:35
回答 1查看 790关注 0票数 2

我开始迁移一个Go项目,以使用模块进行依赖关系管理。我的公司有一个内部go代理,它只托管私有模块。因此,我需要一种从内部代理下载私有模块的方法,比方说,从一个公开可用的go代理(如goproxy.company.com )下载golang.org/x/tools/cmd/goimportsgithub.com/sirupsen/logrus等公共模块。我以为这能解决这个问题。

GOPROXY='goproxy.company.com,proxy.golang.org,direct'

GPPRIVATE=*.company.com/*

但是,在尝试了第一个代理和第二个代理之后,它失败了,并且从来没有使用direct选项作为后盾。这是已知的问题还是我做错了什么?

有更好的方法吗?期望公司内部代理托管公开可用的go模块是否正常?这是一般的期望吗?

我看完医生后就有这种感觉了。这是参考资料。

正如建议:保障公众围棋模块生态系统的安全中提到的 我们期望企业环境可以通过内部代理获取所有模块,包括公共模块和私有模块;此外,在企业代理的去看医生示例中也是如此。 例如,如果一家公司运行一个为私有模块服务的模块代理,用户将使用以下方法配置go: GOPRIVATE=*.corp.example.com GOPROXY=proxy.example.com GONOPROXY=none 这将告诉go命令和其他工具,以corp.example.com子域开头的模块是私有的,但是公司代理应该用于下载公共模块和私有模块,因为GONOPROXY设置为与任何模块不匹配的模式,覆盖GOPRIVATE

EN

回答 1

Stack Overflow用户

发布于 2020-08-16 00:20:32

Go 1.15添加了一个特性,它现在允许您将GOPROXY设置为跳过代理。

来自Go 1.15发行说明

GOPROXY环境变量现在支持跳过返回错误的代理。代理URL现在可以用逗号(,)或管道字符(X)分隔。如果代理URL后面跟着逗号,则go命令将只在404或410 HTTP响应之后尝试列表中的下一个代理。如果代理URL后面跟着管道字符,则在发生任何错误后,go命令将尝试列表中的下一个代理。请注意,GOPROXY的默认值仍然是https://proxy.golang.org,direct,如果出现错误,它不会返回到直接值。

这应该允许您设置GOPROXY,正如您在问题中所指出的那样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62527648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档