容器无法发出网络请求 - x509:由未知授权机构签署的证书

Container fails to make network requests - x509: certificate signed by unknown authority

K8s 服务后面的容器 运行 无法发出网络请求,错误为 x509: certificate signed by unknown authority

该容器是一个 API 服务传入请求并在响应之前发出外部网络请求,它 运行 在由 Docker 桌面管理的本地 K8s 集群中。调用的第三方 API 证书验证失败,我没有使用代理或 VPN。

这可能是什么原因?

我希望这对其他人有帮助,因为网上有很多关于这个话题的不同讨论。

修复似乎是在进行多阶段 docker 构建和使用例如FROM golang:alpine3.14 AS build 连同 FROM scratch,根证书未复制到映像中。

FROM scratch 行删除错误后将其添加到 Dockerfile。

COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

这是在此 Whosebug answer

上找到的