提问者:小点点

应用引擎部署失败,出现“致命错误:无法访问' https://gopkg.in/yaml.v3/':服务器证书验证失败。”


在将Go/其他项目部署到App Engine时,还有其他人遇到此问题吗?

部署在9月28日星期二运行良好。我在10月1日星期五(昨天)和今天尝试部署,但仍然收到相同的错误。这不是与代码相关的错误,因为代码自上次部署以来没有更改。

从日志中:

步骤#2-"构建": go:gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c:git fetch-f源refs/头/:refs/头/refs/tags/:refs/tags/in /layers/google.go.gomod/gopath/pkg/mod/cache/vcs/5ea86ba1b933025fb7a7a539058d4acea777e0b3175c573a70130f7ea565323f:退出状态128:步骤#2-"构建":致命:无法访问https://gopkg.in/yaml.v3/:服务器证书验证失败。CAfile: /etc/ssl/certs/ca-certificates.crtCRLfile:无

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

有什么想法吗?


共3个答案

匿名用户

也遇到了证书错误。

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

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

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