Docker go 镜像:由于“x509:证书由未知机构签名”而导致“go get”失败
尝试安装软件包时在 Docker Go 镜像中使用“go install”时,用户可能会遇到错误“x509:由未知颁发机构签名的证书”。出现此问题的原因是 Docker 映像缺少必要的 CA 证书来验证签署请求的证书颁发机构的可信度。
故障排除:
一个常见的罪魁祸首是使用Cisco AnyConnect“Umbrella”等安全客户端。这些客户端通常充当中间人,使用自己的证书重新签名请求。要解决此问题,映像必须有权访问“Cisco Umbrella Root CA”证书。
解决方案:
使用 openssl 将 .cer 证书转换为 .crt 格式:
openssl x509 -inform DER -in ciscoumbrellaroot.cer -out ciscoumbrellaroot.crt
将.crt证书复制到证书中文件夹:
cp ciscoumbrellaroot.crt /usr/local/share/ca-certificates/ciscoumbrellaroot.crt
更新证书:
update-ca-certificates
通过执行以下步骤,Docker 映像将获得对必要证书的访问权限,允许使用“go get”成功安装软件包。
以上是为什么 Docker Go 镜像中的 `go get` 会失败并显示'x509:由未知机构签名的证书”?的详细内容。更多信息请关注PHP中文网其他相关文章!