由于ZScaler和证书问题,无法使用docker

时间:2017-04-27 13:50:32

标签: linux docker certificate photon-os zscaler

我在VMware Player中运行VMware Photon OS。这将用作运行Docker容器的主机操作系统。

但是,由于我落后于ZScaler,我遇到运行访问外部资源的命令的问题。例如。 docker pull python给了我以下输出(我添加了一些换行符以使其更具可读性):

error pulling image configuration: 
Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/a0/a0d32d529a0a6728f808050fd2baf9c12e24c852e5b0967ad245c006c3eea2ed/data
?Expires=1493287220
&Signature=gQ60zfNavWYavBzKK12qbqwfOH2ReXMVbWlS39oKNg0xQi-DZM68zPi22xfDl-8W56tQmz5WL5j8L39tjWkLJRNmKHwvwjsxaSNOkPMYQmhppIRD0OuVwfwHr-
1jvnk6mDZM7fCrChLCrF8Ds-2j-dq1XqhiNe5Sn8DYjFTpVWM_
&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: 
x509: certificate signed by unknown authority

我尝试从Windows工作站中为ZScaler提取CA根证书(格式为PEM),并将其附加到/etc/pki/tls/certs/ca-bundle.crt。但即使在重启Docker之后,这也无法解决问题。

我已经阅读了很多帖子,大多数都引用了我的系统中不存在的命令update-ca-trust(即使安装了ca-certificates包)。

我不知道如何前进。 AFAIK有两种选择。之一:

  • 添加ZScaler证书,以便信任SSL连接。
  • 允许与Docker中心的不安全连接(但即便如此,它仍可能会因为证书不受信任而抱怨。)

后者的工作方式,例如,使用curl选项执行-k可以访问任何https资源。

1 个答案:

答案 0 :(得分:3)

问题是zscaler在组织中进行ssl检查时扮演MAN-IN-THE-MIDDLE(参见https://support.zscaler.com/hc/en-us/articles/205059995-How-does-Zscaler-protect-SSL-traffic-)。

由于您已尝试将证书放入泊坞窗,我猜您已经熟悉https://stackoverflow.com/a/36454369/1443505中描述的步骤。对于zscaler场景,这个答案几乎是正确的。需要注意的一件事是,因为zscaler拦截了CA树。我们需要在链上添加所有证书。

目前,zscaler背后的证书链如下所示

enter image description here

我们需要逐个导出它们,并按照https://stackoverflow.com/a/36454369/1443505中的说明为每个导出。