GOSUMDB 的全称为 Go CheckSum Database,用来下载的包的安全性校验问题。包的安全性在使用 GoProxy 之后更容易出现,比如我们引用了一个不安全的 GoProxy 之后然后下载了一个不安全的包,这个时候就出现了安全性问题。对于这种情况,可以通过 GOSUMDB 来对包的哈希值进行校验。当然如果想要关闭哈希校验,可以将 GOSUMDB 设置为 off;如果要对部分包关闭哈希校验,则可以将包的前缀设置到环境变量中 GONOSUMDB 中,设置规则类似 GOPRIVATE。
关于 GOSUMDB 的配置格式为:\<db_name>+\<publickey>+\<url>。
GOSUMDB="sum.golang.org"
GOSUMDB="sum.golang.org+<publickey>"
GOSUMDB="sum.golang.org+<publickey> https://sum.golang.org"
上面三种配置都是合理的,因为对于 http://sum.golang.org,Go 自己知道其对应的 publickey 和 url,所以我们只要配置一个名字即可,对于另外一个 http://sum.golang.google.cn 也是一样。除此之外的,都需要指明 publickey,url 默认是 https://\<db_name>。
关于 GOSUMDB 更多的详细信息可以参考:https://golang.org/cmd/go/#hdr-Module_authentication_failures
wide288:
有时一些报错会跟这个参数有关,需要把此参数值设为 off