最近在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.***/shopspring/decimal
go: finding module for package github.***/stretchr/testify/assert
go: metag_media_server/app imports
github.***/gin-gonic/gin: module github.***/gin-gonic/gin: Get "https://goproxy.***/github.***/gin-gonic/gin/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority
go: metag_media_server/app/config imports
github.***/pkg/errors: module github.***/pkg/errors: Get "https://goproxy.***/github.***/pkg/errors/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority
go: metag_media_server/app/config imports
github.***/spf13/viper: module github.***/spf13/viper: Get "https://goproxy.***/github.***/spf13/viper/@v/list": tls: failed to verify certificate: x509: certificate signed by unknown authority
go: metag_media_server/app/controller imports
github.***/axetroy/go-fs: module github.***/axetroy/go-fs: Get "https://goproxy.***/github.***/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.***
或者
export GOPROXY=http://mirrors.aliyun.***/goproxy/
注意前缀不是https
二:重装ca-certificates
sudo apt-get install --reinstall ca-certificates
sudo apt-get update
之后就可以愉快的使用go mod tidy了