使用Firestore在Cloud Run上连接Golang应用程序时出现问题

时间:2019-05-12 19:32:00

标签: firebase google-cloud-run

我尝试使用以下功能从Firestore获取所有文档。

凭据存储在GCP云源存储库中的加密文件中。 我解密了Cloud Build触发器中的配置,并在Dockerfile中将ENV指向该文件。我通过RUN ls /app/credentials.json看到了内容。

我在应用程序日志中得到的错误: rpc错误:代码=不可用desc =所有SubConns都在TransientFailure中,最新的连接错误:连接错误:desc =“传输:身份验证握手失败:x509:证书由未知授权机构签名”

凭据存储在GCP云源存储库中的加密文件中。 我解密了Cloud Build触发器中的配置,并在Dockerfile中将ENV指向该文件。我通过RUN ls /app/credentials.json看到了内容。

我在应用程序日志中得到的错误: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"

1 个答案:

答案 0 :(得分:3)

此错误是由于HTTPS失败导致无法验证证书的结果。 Alpine base image缺少提供根证书的软件包。目前,Cloud Run quickstart至少在Go语言中缺少此功能。

假设这是您的问题,请在Dockerfile的最后阶段添加以下内容:

RUN apk add --no-cache ca-certificates