应用引擎部署失败,"fatal: unable to access 'https://gopkg.in/yaml.v3/': server certificate verification fai



在将Go/Other项目部署到应用程序引擎时,还有人遇到这个问题吗?

9月28日(星期二),部署工作顺利。我尝试在10月1日(星期五)(昨天)和今天进行部署,但仍然出现了同样的错误。这不是一个与代码相关的错误,因为自上次部署以来,代码没有更改。

来自日志:

步骤#2-";build":转到:gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c:git fetch-f原点refs/heads/:refs/heads/refs/tags/:refs/tags/in/layers/google.go.gomod/gopath/pkg/mod/cache/vcs/5ea86ba1b933025fb7a539058d4cea777e0b3175c573a70130f7ea565323f:退出状态128:步骤#2-"退出";build":致命:无法访问'https://gopkg.in/yaml.v3/':服务器证书验证失败。ca文件:/etc/ssl/certs/ca-certificates.crt CRL文件:无

如果我没有看错,应用程序引擎中是否缺少证书?但是,我不确定它需要什么证书,因为我以前从未提供过证书。也许如果我删除证书文件,应用程序引擎会重新创建它?

有什么想法吗?

也遇到证书错误。

假设您使用的是官方的golang映像,要解决证书问题,您需要更新ca-certificateslibgnutls30包。

RUN apt update && apt install ca-certificates libgnutls30 -y

我在Travis CI构建时遇到了同样的问题。

我将构建镜像更改为ubuntu 20.04(从16.04)并更新包ca证书

sudo apt-get update
sudo apt-get install --reinstall ca-certificates

已解决。。。主要是

此解决方案适用于使用Go 1.11 在App Engine Standard环境中运行的用户

将app.yaml中的运行时更改为

runtime: go115

并在go.mod文件中更改你的go版本:

module myapp
go 1.11

这将允许您部署应用程序。在我的情况下,我必须对app.yaml进行其他更改。例如,我必须添加

app_engine_apis: true

我现在已经部署了我的应用程序,但还没有完全运行。如果我发现其他问题,我会在这里发布相关修复程序。希望这能帮助那些遇到这个问题的人。

总而言之,这是应用程序引擎方面的一个问题。其他用户也遇到了同样的问题,谷歌团队解决了这个问题。

为了参考,我在这里发布了这个问题:https://issuetracker.google.com/issues/201753230

对于我的项目,我恢复了";运行时:go115";对go111的更改(还从app.yaml中删除了app_engine_api)和正常部署的应用程序。

最新更新