Macos Golang TLS握手超时,影响go-get-and-go代码

Macos Golang TLS握手超时,影响go-get-and-go代码,macos,go,ssl,Macos,Go,Ssl,Golang无法在我的mac电脑上完成TLS握手(Catalina,但这个问题首先出现在Mojave上) 我首先注意到,这种情况发生在获取失败的情况下: unrecognized import path "golang.org/x/text": https fetch: Get "https://golang.org/x/text?go-get=1": net/http: TLS handshake timeout <nil>, Get &q

Golang无法在我的mac电脑上完成TLS握手(Catalina,但这个问题首先出现在Mojave上)

我首先注意到,这种情况发生在
获取失败的情况下:

unrecognized import path "golang.org/x/text": https fetch: Get "https://golang.org/x/text?go-get=1": net/http: TLS handshake timeout
<nil>, Get "https://google.com": net/http: TLS handshake timeout
但我也确认了这也会影响golang代码。下面是一个我希望能够工作的基本示例:

主程序包
进口(
“fmt”
“net/http”
)
func main(){
resp,err:=http.Get(“https://google.com")
fmt.Printf(“%v,%v\n”,分别,错误)
}
如果我将此文件保存为
main.go
并运行它,我会得到与从
go-get
中看到的相同错误:

unrecognized import path "golang.org/x/text": https fetch: Get "https://golang.org/x/text?go-get=1": net/http: TLS handshake timeout
<nil>, Get "https://google.com": net/http: TLS handshake timeout

任何关于解决此问题的提示都将不胜感激!不能
去获取
东西是个大麻烦。

我遇到了类似的事情。当我在Mac上构建二进制文件时,没有启用
CGO\u
标志,它似乎可以工作。仅在构建过程中添加启用了CGO的环境变量就会导致此问题。

在将其缩小为macOS问题之后,修复:清理旧的密钥链访问系统证书。

当您在浏览器中打开url并检查证书时,是否有任何迹象表明证书无效或由另一方提供?一些大公司(TM)有他们自己的CA,并为所有网站颁发他们自己的证书。不,证书是有效的,没有任何东西可以阻止在我的另一台机器上执行完全相同的命令。我已经解决了这个问题,从头开始重新安装catalina,彻底清理了我的机器——我将把这个问题留给其他人,以防将来遇到这个问题。