本地工件厂戈朗代理和校验和验证



当使用本地工件获取go模块时,go代理在执行模块校验和验证时"go get"失败。

在工作中,我们不能直接从互联网下载,而必须通过基于artifactory的本地代理。我已经将GOPROXY (GOPROXY=https://repo.mycompany.se/artifactory/api/go/gocenter(指定到我们本地artifactory的代理设置中。当运行"go get"时,下载正常,我可以看到,但校验和验证失败,因为go尝试直接使用 sum.golang.org 而不是通过代理获取校验和。

C:Usersxgosrchello2>go get rsc.io/quote@v1.5.2
go: finding rsc.io v1.5.2
go: downloading rsc.io/quote v1.5.2
verifying rsc.io/quote@v1.5.2: rsc.io/quote@v1.5.2: Get https://sum.golang.org/lookup/rsc.io/quote@v1.5.2: dial tcp: lookup sum.golang.org: no such host
C:Usersxgosrchello2>

工件是否支持通过本地代理获取校验和,如果是这样,您如何设置它。我已经阅读了一篇关于直接使用 gocenter 时支持的博客文章,但在使用 artifactory 时找不到任何信息。

我正在使用 go 1.13,我们正在使用工件工厂 6.12.2。

Artifactory 6.12.2 用作 golang 代理时,目前不支持在无法访问 sum.golang.org 时进行校验和验证。功能请求 RTFACT-20405(Artifactory 在无法访问时支持 go 客户端校验和验证 sum.golang.org(。

同时,请参阅"go help module-private"和有关使用 GONOSUMDB 环境变量的文档。 摘自 1 -

"如果 GOSUMDB 设置为 'off',或者使用 -insecure 标志调用 'go get',则不会查阅校验和数据库,并接受所有无法识别的模块,代价是放弃所有模块的可验证可重复下载的安全保证。绕过特定模块的校验和数据库的更好方法是使用 GOPRIVATE 或 GONOSUMDB 环境变量。有关详细信息,请参阅"转到帮助模块-私有">

Artifactory 6.16 支持 gosumdb - https://www.jfrog.com/confluence/display/RTF/Release+Notes

最新更新