最近在docker中运行了一个ubuntu20的系统,在上面运行golang程序,使用go mod tidy后报错:
tls: failed to verify certificate: x509: certificate signed by unknown authority
如:
go: finding module for package google.golang.org/grpc/credentials/insecure go: finding module for package github.com/shopspring/decimal go: finding module for package github.com/stretchr/testify/assert go: metag_media_server/app imports github.com/gin-gonic/gin: module github.com/gin-gonic/gin: Get "https://goproxy.cn/github.com/gin-gonic/gin/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority go: metag_media_server/app/config imports github.com/pkg/errors: module github.com/pkg/errors: Get "https://goproxy.cn/github.com/pkg/errors/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority go: metag_media_server/app/config imports github.com/spf13/viper: module github.com/spf13/viper: Get "https://goproxy.cn/github.com/spf13/viper/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority go: metag_media_server/app/controller imports github.com/axetroy/go-fs: module github.com/axetroy/go-fs: Get "https://goproxy.cn/github.com/axetroy/go-fs/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority go: metag_media_server/app/controller imports
出现这中情况一般都是自己安装全新的ubuntu系统,或者在docker中安装ubuntu镜像,跟我一样。
在网上找了很多资料,都没有解决。
这里提供两种最佳方案:
一:设置http的goproxy
export GOPROXY=http://goproxy.cn 或者 export GOPROXY=http://mirrors.aliyun.com/goproxy/
注意前缀不是https
二:重装ca-certificates
sudo apt-get install --reinstall ca-certificates sudo apt-get update
之后就可以愉快的使用go mod tidy了