我有一个容器,我试图通过以下方式访问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命令?容器在启动时是否已经拥有其缓存中的所有证书?
问候
佳日
答案 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