SSL 证书验证在特定服务器上的 docker 容器内失败

标签 ssl docker

我遇到了一个奇怪的证书问题,我不知道如何调试。当我在一台特定服务器上的 docker 容器内运行 wget 时,它无法验证证书。相同的 wget 在服务器机器本身(docker 外部)上运行良好,并且在不同服务器上的同一个 docker 容器内运行。

这是 docker 容器的设置:

docker run --rm -ti debian:jessie bash
apt-get update
apt-get install wget
wget https://google.com

回复是:

converted 'https://google.com' (ANSI_X3.4-1968) -> 'https://google.com' (UTF-8)
--2016-06-22 14:22:02--  https://google.com/
Resolving google.com (google.com)... 216.58.217.142, 2607:f8b0:4004:807::200e
Connecting to google.com (google.com)|216.58.217.142|:443... connected.
ERROR: The certificate of 'google.com' is not trusted.
ERROR: The certificate of 'google.com' hasn't got a known issuer.
The certificate's owner does not match hostname 'google.com'

由于相同的过程适用于其他服务器,因此问题似乎只是该服务器本身的一些证书问题。但我一定很困惑:为什么服务器本身的证书与 docker 容器内部发生的事情有任何关系?

我非常感谢对此的任何见解,特别是我可以采取的任何调试步骤以更好地理解问题。

最佳答案

jessie 图像中的证书似乎已过期。

在 wget 之前尝试 apt-get install ca-certificates

关于SSL 证书验证在特定服务器上的 docker 容器内失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37970990/

相关文章:

java - 如何在宿主机中使用docker-build库bin

docker - 如何在 jenkinsci/blueocean 中安装 docker-compose?

macos - 无法使用metricbeat连接到OpenDistro Elasticsearch

java - 通过修改 JRE 或 .so 库在 android 中捕获解密的 https 内容

c# - Postman http请求成功,C# HttpWebRequest错误 SSL/TLS安全通道的信任关系

go - 如何将 Go 的 autocert 包与 CloudFlare 结合使用?

amazon-web-services - 为什么我的 AWS cloudfront 可以工作,但不安全?

linux - 使用 Vagrant 虚拟机和 Nginx 设置测试环境

linux - Docker 没有正确报告内存使用情况?

通过容器注册表标签选择进行 Azure 应用服务持续部署