Docker Go 镜像错误:go install 的证书无效
问题:
执行时go install 在 Docker Go 镜像中,用户会遇到错误:
google.golang.org/protobuf/cmd/[email protected]: google.golang.org/protobuf/cmd/[email protected]: invalid version: Get "https://proxy.golang.org/google.golang.org/protobuf/cmd/protoc-gen-go/@v/1.27.0.info": x509: certificate signed by unknown authority
解决方案:
上述错误源于 Docker 映像的安全客户端,在本例中为 Cisco AnyConnect “Umbrella”,它充当中间人并使用自己的证书重新签署请求。
要纠正此问题, Docker 映像必须包含“Cisco Umbrella Root CA”证书。按照以下步骤添加证书:
下载证书:
$ wget http://www.cisco.com/security/pki/certs/ciscoumbrellaroot.cer
将证书从 .cer 转换为 .crt 格式:
$ openssl x509 -inform DER -in ciscoumbrellaroot.cer -out ciscoumbrellaroot.crt
复制证书到证书文件夹:
$ cp ciscoumbrellaroot.crt /usr/local/share/ca-certificates/ciscoumbrellaroot.crt
更新证书:
$ update-ca-certificates
完成这些步骤后,Docker 映像将能够信任 Umbrella 放弃的流量。因此,go install 可以执行,不会出现上述错误。
以上是如何使用 Cisco AnyConnect 修复 Docker 中'go install”期间的'无效证书”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!