当前位置: 首页 > 面试题库 >

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

娄鹤轩
2023-03-14
问题内容

我遇到了一个我无法弄清楚如何调试的证书的奇怪问题。当我在一台特定服务器上的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容器内部发生的事情有什么关系?

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


问题答案:

Docker使用iptables。

如果您设置了iptable规则,则可以将每个https请求定向到您自己的运行服务器。

例如,如果您在本地运行jenkins并使用iptables将443重定向到默认的8080端口,则所有到443端口的容器流量都将重定向到该本地jenkins服务器,该服务器将无法验证您的证书。在使用Jenkins构建我们的docker映像时,我们遇到了这个问题。我们的詹金斯使用iptables绕过以root身份运行詹金斯。



 类似资料:
  • 问题内容: 是否有任何优雅的方法可以将ssl证书添加到来自docker pull的映像中? 我正在寻找一种将文件添加到/ etc / ssl / certs并运行update-ca- certificates的简单且可复制的方法。(这应该涵盖ubuntu和debian映像)。 我在CoreOS上使用docker,而coreos机器信任所需的ssl证书,但docker容器显然仅具有默认值。 我尝试过

  • 我浏览了互联网,还没有找到一个解决方案或方法来验证证书时,通过HTTPS连接使用TIDWTTP。 我已经连接了一个idsslohandlersocketopenssl组件作为IOHandler,设置SSLModes,等等https://s3.amazonaws.com它无法验证证书。 OpenSSL(Indy)提供 “连接SSL时出错。SSL3\u获取\u服务器\u证书:证书验证失败” OpenS

  • 我试图在wildfly application server上安装SSL证书,该服务器托管在aws Ec2实例中。我在GoDaddy购买了SSL证书。我从godaddy Portal下载了SSL SSL证书zip。它包含1.gd_bundle-g2-g1.crt2.gdig2.crt.pem 3。70C350D31695.CRT 4。70C350D31695.PEM 使用以下命令创建keystor

  • 我们的应用程序可以使用Active Directory用户和组。我们在端口389上使用LDAP进行Active Directory操作。现在,我们的一个客户机希望我们添加一个使用LDAP+SSL进行Active Directory通信的选项。 他们告诉我们,他们在域上安装了一个本地CA,并对LDAP使用自签名证书。他们还告诉我们,他们会提供证书,不需要相互信任,我们应该使用Windows证书存储。

  • 附加内容 How I’ve set up SSH keys on my Yubikey 4 (so far) How to Harden SSH with Identities and Certificates Scalable and secure access with SSH