首页 > 解决方案 > 去获取:net/http:TLS握手超时

问题描述

当我试图去拿东西的时候。具体来说:

去获取 -u gorm.io/datatypes

它一直显示以下两行:

go: downloading gorm.io/datatypes v1.0.2
go get: gorm.io/datatypes@v1.0.2: verifying module: gorm.io/datatypes@v1.0.2: Get "https://sum.golang.google.cn/lookup/gorm.io/datatypes@v1.0.2": net/http: TLS handshake timeout

这里附上了我的 go env:

GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/derekzhangv/Library/Caches/go-build"
GOENV="/Users/derekzhangv/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/derekzhangv/Develop/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/derekzhangv/Develop/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.google.cn"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.17.2"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/derekzhangv/Develop/sites/biasura/biasura-go/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/1w/fm0bjyts2kn95_9fdmr_y2800000gn/T/go-build82472966=/tmp/go-build -gno-record-gcc-switches -fno-common"

我的问题是:如果“https://sum.golang.google.cn”有任何替代品,如果有,怎么做?

顺便说一句:我可以用本地浏览器打开这个网址( https://sum.golang.google.cn/lookup/gorm.io/datatypes@v1.0.2 )。

操作系统:macos big sur Go 版本:1.17.x

谢谢。

标签: go

解决方案


如 中所述golang/go/issues/31755,您正在设置一个校验和数据库:

go env -w GOSUMDB=sum.golang.google.cn

希望它没有被阻止。

由于您正在使用sum.golang.google.cn,这可能意味着您的钥匙串上的某些证书​​需要删除,如此处所述,并在此问题中提到:

我开始逐步清理我的钥匙串,在我删除了一堆奇怪的通配符证书后,它开始工作了。

https://us.v-cdn.net/5020219/uploads/editor/9q/7a5m4hg7b1no.png


推荐阅读