登录
首页 >  Golang >  Go问答

使用 GitHub 包时启用不安全的 HTTP 下载

来源:stackoverflow

时间:2024-03-20 20:27:27 404浏览 收藏

在使用 Go 的 `go get` 命令安装 GitHub 包时,可能会遇到“certificate signed by unknown authority”错误,这通常是由于防火墙或安全配置导致无法通过 HTTPS 下载包。为了解决这个问题,可以启用不安全的 HTTP 下载,方法是设置 `GOINSECURE` 环境变量。然而,在某些情况下,还需要设置 `GONOSUMDB` 和 `GOPRIVATE` 环境变量为空值才能成功安装包。

问题内容

我正在工作中开发一个 cli 应用程序,以便自动执行一些繁琐的任务,为此,我需要安装几个软件包,例如gotp。我注意到将这个新包安装到我的项目中会弹出此错误。

go get github.com/xlzd/gotp
go: module github.com/xlzd/gotp: get "https://proxy.golang.org/github.com/xlzd/gotp/@v/list": x509: certificate signed by unknown authority

我认为这与我的工作电脑的防火墙或安全配置有关,因为我能够在我的电脑上启用防火墙之前安装几个软件包。我读到了环境变量 goinsecure ,它将使 go get 通过 http 下载软件包。这就是我在我的案例中所做的事情。

export GOINSECURE="proxy.golang.org/*,github.com,github.com/*"

仍然弹出相同的错误,我的配置中是否缺少某些内容?


正确答案


我在安装内部包时也遇到了这个错误,解决方案是选择正确的代理,我将我的goproxy更改为内部代理站点地址,并设为goprivate,gonoproxy、gonosumdb 为空值。 对于您的情况,您可以尝试

GOINSECURE="proxy.golang.org/*,github.com,github.com/*"
GONOSUMDB="proxy.golang.org/*,github.com,github.com/*"
GOPRIVATE="proxy.golang.org/*,github.com,github.com/*"

终于介绍完啦!小伙伴们,这篇关于《使用 GitHub 包时启用不安全的 HTTP 下载》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>