错误信息

在go项目中发送https请求时,就会提示x509:certificate signed by unknown authority

原因

我们在构建 docker 镜像时一般使用的是 linux(centos或者ubuntu等待) 系统,默认是不带 ca-certificates 根证书的,导致无法识别外部 https 携带的数字证书。

所以在我们项目中发送https请求时,就会提示x509:certificate signed by unknown authority

为了解决证书验证的问题,我们要在构建 docker 镜像的时候把 ca-certificates 根证书给装上,这样就能识别来自外部 https 的数字证书了。

1
2
FROM alpine:3.8
RUN apk --no-cache add ca-certificates

以utuntu基础镜像为例,apt-get是utuntu的下载命令
在编辑 Dockerfile 的时候加入以下命令即可:

1
2
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl

参考文章

https://www.jianshu.com/p/97471c082b2f