Ssl Docker容器未连接到https端点
在docker容器内,我正在运行Ssl Docker容器未连接到https端点,ssl,networking,https,docker,openstack,Ssl,Networking,Https,Docker,Openstack,在docker容器内,我正在运行 # openssl s_client -connect rubygems.org:443 -state -nbio 2>&1 | grep "^SSL" SSL_connect:before/connect initialization SSL_connect:SSLv2/v3 write client hello A SSL_connect:error in SSLv2/v3 read server hello A 这就是我能得到的
# openssl s_client -connect rubygems.org:443 -state -nbio 2>&1 | grep "^SSL"
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:error in SSLv2/v3 read server hello A
这就是我能得到的
我无法从docker容器中连接到任何https站点。容器正在openstack vm上运行。虚拟机可以通过https进行连接
有什么建议吗
更新
root@ce239554761d:/# curl -vv https://google.com
* Rebuilt URL to: https://google.com/
* Hostname was NOT found in DNS cache
* Trying 216.58.217.46...
* Connected to google.com (216.58.217.46) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
然后它就挂了
而且,我现在也时断时续地取得了成功
健全性检查:
- 更改docker IP并不能解决此问题
- docker容器在我的本地机器上工作
- docker容器在其他云上工作
- Docker 1.10.0在虚拟机中不起作用
- Docker 1.9.1在vms中工作
- 我得到了
OpenStack网络似乎使用较低的MTU值,Docker不会从主机的网卡推断MTU设置
要使用自定义MTU设置运行docker守护程序,您可以按照以下步骤操作:
$ cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service
在新文件中编辑一行,如下所示:
ExecStart=/usr/bin/docker daemon -H fd:// –mtu=1454
MTU为1454是OpenStack中常见的值。您可以使用ifconfig在主机中查找它
最后重新启动Docker:
$ sudo systemctl daemon-reload
$ sudo service docker restart
相关:如果您通过上面的相关链接进行解析,则docker发行版中缺少某些内容。ca证书可能吗?@Eli这不是rubygems特有的问题。我的任何容器都无法访问任何https站点@user2105103,我安装了ca证书,
apt get update
hangs如果apt get update
hangs,则docker主机上的MTU可能存在问题。尝试将MTU设置为较低的值。我们遇到了相同的问题,这似乎是OpenStack中一个棘手的错误。我在那里提交了一个错误:而不是复制整个单位文件(这可能是由包作者改变)考虑只更新一行使用:/ETC/StReD/St/DoCK.Serv.D/FixMtu.CONF文件与内容:[服务] ExcStest= ExcStase= /Ur/bin /DOCKDD -H FD://-MTU=1454。别忘了重新加载systemctl守护程序并重新启动docker