Go Modules代理用于加速依赖下载,解决国内访问不稳定问题,推荐设置GOPROXY=https://goproxy.cn,direct,并可通过GONOSUMDB和GOINSECURE处理私有模块。

Go Modules 代理主要用于加速依赖下载,解决国内访问 proxy.golang.org 和 goproxy.io 不稳定或被屏蔽的问题。核心是设置环境变量 GOPROXY 指向国内可用的镜像代理服务。
常用国内 Go Modules 代理地址
以下是国内稳定、同步及时的公共代理(支持 HTTPS,无需认证):
- https://goproxy.cn(由七牛云维护,国内访问快,推荐首选)
- https://goproxy.io(原官方推荐,现部分区域可能不稳定)
- https://mirrors.aliyun.com/goproxy/(阿里云镜像,兼容性好)
- https://proxy.golang.google.cn(Google 官方中国代理,需确保网络可连通)
配置 GOPROXY 环境变量
在终端中执行命令临时生效(当前会话有效):
export GOPROXY=https://goproxy.cn,direct
立即学习“go语言免费学习笔记(深入)”;
推荐使用 https://goproxy.cn,direct 格式,表示优先走代理,遇到私有模块(如公司内网域名)自动回退到直连。
永久生效需写入 shell 配置文件:
- Zsh(macOS Catalina 及以后 / Linux):编辑
~/.zshrc,追加export GOPROXY=https://goproxy.cn,direct - Bash:编辑
~/.bashrc或~/.bash_profile - Windows(PowerShell):运行
[Environment]::SetEnvironmentVariable("GOPROXY", "https://goproxy.cn,direct", "User")
修改后执行 source ~/.zshrc(或对应配置文件)使配置立即生效。
验证代理是否生效
执行以下命令查看当前 Go 环境配置:
go env GOPROXY
应输出 https://goproxy.cn,direct;再尝试拉取一个新依赖:
go get github.com/go-sql-driver/mysql@v1.7.1
若下载速度快且无超时/403错误,说明代理已正常工作。
补充:跳过校验与私有模块处理
某些企业内部模块无法通过公共代理获取,此时需配合 GONOSUMDB 和 GOINSECURE:
-
export GONOSUMDB="*.example.com,git.internal.company":对匹配域名的模块跳过 checksum 校验 -
export GOINSECURE="git.internal.company":允许对这些域名使用 HTTP 或跳过 TLS 验证
注意:GONOSUMDB 和 GOINSECURE 应仅用于可信内网环境,避免安全风险。










