未加载SSL证书和容器启动

时间:2018-01-11 12:04:48

标签: ssl docker ssl-certificate

我有一个容器,我试图通过以下方式访问HTTPS URL:

  

curl -v https // myserver:7050

服务器的SSL颁发者证书放在VM上,我在/ etc / ssl / certs中运行容器。此VM位置是卷映射到容器的/ etc / ssl / certs。这意味着证书应该可供容器使用。 但是,当我发出curl命令时,我收到一条消息说"无法获得颁发者证书"。

然后我需要运行

  

update-ca-certificates --refresh

此后curl命令成功。

如果我使用卷映射启动容器,为什么需要运行update-ca-certificates命令?容器在启动时是否已经拥有其缓存中的所有证书?

问候
佳日

1 个答案:

答案 0 :(得分:0)

/etc/ssl/certs上的文件是其他文件的符号链接,如果您安装带符号链接的文件夹,它将尝试加载它们链接的文件,这些文件在您的容器中可能不存在。

你也需要安装原始文件位置。

lrwxrwxrwx. 1 root root   49 Jul 19 06:51 ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
lrwxrwxrwx. 1 root root   55 Jul 19 06:51 ca-bundle.trust.crt -> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

或者您可以将原始单个文件挂载到容器/ etc / ssl / certs