1 回答

TA贡献1871条经验 获得超8个赞
如果我不
GOPRIVATE
从这些服务设置和请求私有模块,会发生什么泄漏? 代理和校验和数据库协议仅将模块路径和版本发送到远程服务器。如果您请求私有模块,镜像将像任何 Go 用户一样尝试下载它,并以同样的方式失败。有关失败请求的信息不会在任何地方发布。请求的唯一痕迹将存在于内部日志中,该日志受隐私政策的约束。
按照https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modulesGOPRIVATE
中所述进行工作
GOPRIVATE 环境变量控制 go 命令认为哪些模块是私有的(不可公开使用),因此不应使用代理或校验和数据库。该变量是模块路径前缀的逗号分隔的 glob 模式列表(采用 Go 的 path.Match 语法)。例如,
GOPRIVATE=*.corp.example.com,rsc.io/private
导致 go 命令将路径前缀与任一模式匹配的任何模块视为私有模块,包括 git.corp.example.com/xyzzy、rsc.io/private 和 rsc.io/private/quux。
总结一下:如果它是私有模块,代理服务会尝试访问它,但会失败。我假设 Go 然后会回退到直接访问它,完全绕过代理。为了防止这种往返,请将您的私有存储库添加到 GOPRIVATE,如果您仍然担心它,请使用wireshark 之类的东西来双重确保您的私有模块可以直接访问。
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报