配置 Go
通过 GOPROXY 让 Go Modules 经过 Depsilo /go/ 路由,并保留 GOSUMDB 校验。
之前
https://proxy.golang.org之后
http://localhost:23333/go/Go 通过 GOPROXY 指向 Depsilo;模块校验仍由 GOSUMDB 和 go.sum 完成,Depsilo 不会替代它们。
配置客户端
链接到“配置客户端”小节go env -w GOPROXY=http://localhost:23333/go/,directgo env GOPROXY保留 GOSUMDB,让 Go 继续校验公共模块的 checksum。
临时查询而不修改持久配置(这里只获取版本列表,不验证模块下载):
GOPROXY=http://localhost:23333/go/ go list -m -versions rsc.io/quote验证请求
链接到“验证请求”小节-
确认实例就绪
终端窗口 curl -fsS http://localhost:23333/ready -
从项目外取回固定版本的模块
终端窗口 tmp_dir="$(mktemp -d)"(cd "$tmp_dir" && GOMODCACHE="$tmp_dir/gomod" \GOPROXY=http://localhost:23333/go/ \每次运行都会新建临时目录和空的客户端模块缓存,不修改当前项目,也不清空原有缓存; 不再需要时可删除本次的
$tmp_dir。验证时只指定 Depsilo 的代理 URL,不附加,direct,且不关闭GOSUMDB,确保失败不会因回退到上游而被掩盖。上面的,direct持久配置供日常使用,其回退行为见提示说明。 -
在 Admin 中确认流量
在 Access logs 中核对
/go/请求、该版本对应的@v/*.mod、@v/*.zip等文件及缓存结果;Cache 页面也可核对对应对象。下载成功或变快,不能单独证明请求 经过 Depsilo。若服务端尚未缓存该版本,第一次会回源;再次以新的临时客户端 缓存运行相同命令,才能验证后续命中。如果服务端原本已有缓存,第一次也可能命中。
常见问题
链接到“常见问题”小节需要关闭 GOSUMDB 吗?
链接到“需要关闭 GOSUMDB 吗?”小节不需要,除非你的组织自建了校验数据库。保留默认设置可以继续验证公共模块的 checksum。
私有模块怎么办?
链接到“私有模块怎么办?”小节GOPRIVATE / GONOSUMDB 决定哪些模块跳过公共校验与代理。Depsilo 只负责代理,不会修改这些客户端策略;具体配置以团队约定为准。