温馨提示×

centos golang如何配代理

小樊
33
2026-10-11 16:54:05
栏目: 编程语言

在 CentOS 上给 Golang 配置代理,通常有两种常见场景:HTTP/HTTPS 网络代理(访问外网) 和 Go 模块代理(GOPROXY)。下面分别说明。


一、配置 Go 模块代理(最常用,解决 go mod 下载慢/失败)

1. 设置 GOPROXY(推荐国内镜像)

go env -w GOPROXY=https://goproxy.cn,direct

或(官方全球代理):

go env -w GOPROXY=https://proxy.golang.org,direct

2. 关闭私有仓库代理(如有)

go env -w GONOPROXY=git.company.com
go env -w GONOSUMDB=git.company.com
go env -w GOPRIVATE=git.company.com

3. 查看当前配置

go env

二、配置系统/命令行 HTTP 代理(访问外网用)

如果你的服务器需要通过代理访问互联网:

临时生效(当前终端)

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export no_proxy=localhost,127.0.0.1

永久生效

vi ~/.bashrc

添加:

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

然后:

source ~/.bashrc

三、让 Go 命令走系统代理

Go 默认不读取 http_proxy,需要显式设置:

go env -w HTTP_PROXY=http://127.0.0.1:7890
go env -w HTTPS_PROXY=http://127.0.0.1:7890
go env -w GOPROXY=https://goproxy.cn,direct

四、关闭代理(排错时用)

go env -u HTTP_PROXY
go env -u HTTPS_PROXY
go env -u GOPROXY

五、常见问题

1. go: cannot find main module

go mod init projectname

2. 公司内网 Git

git config --global http.proxy http://proxy:port

3. 防火墙

systemctl stop firewalld

如果你能说明:

  • 是 拉取 Go 模块慢
  • 还是 服务器本身不能直连外网
  • 是否使用 公司代理 / 科学上网

我可以给你更精确的配置方案。

0 踩